let UI02 = {}
let CSUtilss = {}
let U3dCore = {}
let CNetwork = {}
let U3dUtils = {}
UI02.Part = {}
let CComposite = {}
let UnityCommon = {}
let CSExcelTools = {}
let CS_GameService = {}
CComposite.Part = {}
CComposite.Object = {}
CS_GameService.Protocol = {}

//--------10_10_011_005----
//----box地形--
CComposite.Object.PartData_005_BoxIslandTerrain = function(){}
CComposite.Object.PartData_005_BoxIslandTerrain.prototype = {
	get m_className() {return "PartData_005_BoxIslandTerrain";},
	get m_typeId() {return "10_10_011_005";},
	get m_typeTag() {return "box地形";},
	get m_fieldArr() {return CComposite.Object.PartData_005_BoxIslandTerrain_dic.m_fieldArr;},
	_instanceId : 0,

	o_textureIndex: 0,//Int32----贴图索引----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 10:
				return o_textureIndex;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 10:
				o_textureIndex = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_textureIndex != 0) {
			binaryWriter.Write(10);//�ֶ�����
			binaryWriter.Write(o_textureIndex);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 10:
					o_textureIndex = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_005_BoxIslandTerrain.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &10=" + this.o_textureIndex;//--贴图索引
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 10:
						this.o_textureIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_005_BoxIslandTerrain_dic = { 
	"m_fieldArr" : {
		"10" : new CSUtils.AField(10, "System.Int32", "贴图索引", "", "o_textureIndex", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_005_BoxIslandTerrain"),
	},
}

//--------10_10_011_006----
//----地形--
CComposite.Object.PartData_006_Terrain = function(){}
CComposite.Object.PartData_006_Terrain.prototype = {
	get m_className() {return "PartData_006_Terrain";},
	get m_typeId() {return "10_10_011_006";},
	get m_typeTag() {return "地形";},
	get m_fieldArr() {return CComposite.Object.PartData_006_Terrain_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_006_Terrain.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_006_Terrain_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_006----
//----地形Cfg--
CComposite.Object.PartCfg_006_Terrain = function(){}
CComposite.Object.PartCfg_006_Terrain.prototype = {
	get m_className() {return "PartCfg_006_Terrain";},
	get m_typeId() {return "10_10_010_006";},
	get m_typeTag() {return "地形Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_006_Terrain_dic.m_fieldArr;},
	_instanceId : 0,

	o_subTerrainName: {},//String[]----子地形名字----
	o_subTerrainTagName: {},//String[]----子地形tag名字----
	o_subTerrainPosiDatas: {},//Single[][]----子地形位置----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 63:
				return o_subTerrainName;
			case 64:
				return o_subTerrainTagName;
			case 65:
				return o_subTerrainPosiDatas;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 63:
				o_subTerrainName = obj;
				break;
			case 64:
				o_subTerrainTagName = obj;
				break;
			case 65:
				o_subTerrainPosiDatas = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_subTerrainName != null && o_subTerrainName.Length > 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_subTerrainName, EBaseType.e012_string);//����
		}
		if (o_subTerrainTagName != null && o_subTerrainTagName.Length > 0) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_subTerrainTagName, EBaseType.e012_string);//����
		}
		if (o_subTerrainPosiDatas != null && o_subTerrainPosiDatas.Length > 0) {
			binaryWriter.Write(65);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_subTerrainPosiDatas, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 63:
					o_subTerrainName = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 64:
					o_subTerrainTagName = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 65:
					o_subTerrainPosiDatas = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_006_Terrain.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &63=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_subTerrainName, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &64=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_subTerrainTagName, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &65=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_subTerrainPosiDatas, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 63:
						this.o_subTerrainName = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 64:
						this.o_subTerrainTagName = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 65:
						this.o_subTerrainPosiDatas = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_006_Terrain_dic = { 
	"m_fieldArr" : {
		"63" : new CSUtils.AField(63, "System.String[]", "子地形名字", "", "o_subTerrainName", 2, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_006_Terrain"),
		"64" : new CSUtils.AField(64, "System.String[]", "子地形tag名字", "", "o_subTerrainTagName", 2, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_006_Terrain"),
		"65" : new CSUtils.AField(65, "System.Single[][]", "子地形位置", "", "o_subTerrainPosiDatas", 2, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_006_Terrain"),
	},
}

//--------10_10_011_008----
//----资源--
CComposite.Object.PartData_008_Resources = function(){}
CComposite.Object.PartData_008_Resources.prototype = {
	get m_className() {return "PartData_008_Resources";},
	get m_typeId() {return "10_10_011_008";},
	get m_typeTag() {return "资源";},
	get m_fieldArr() {return CComposite.Object.PartData_008_Resources_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_008_Resources.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_008_Resources_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_008----
//----资源Cfg--
CComposite.Object.PartCfg_008_Resources = function(){}
CComposite.Object.PartCfg_008_Resources.prototype = {
	get m_className() {return "PartCfg_008_Resources";},
	get m_typeId() {return "10_10_010_008";},
	get m_typeTag() {return "资源Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_008_Resources_dic.m_fieldArr;},
	_instanceId : 0,

	o_carryObjs: {},//CInt4[]----携带物品类型----
	o_carryObjNumbers: {},//Int32[]----携带物品数量----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 50:
				return o_carryObjs;
			case 51:
				return o_carryObjNumbers;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 50:
				o_carryObjs = obj;
				break;
			case 51:
				o_carryObjNumbers = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_carryObjs != null && o_carryObjs.Length > 0) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_carryObjs, EBaseType.e014_Int4);//����
		}
		if (o_carryObjNumbers != null && o_carryObjNumbers.Length > 0) {
			binaryWriter.Write(51);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_carryObjNumbers, EBaseType.e006_int);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 50:
					o_carryObjs = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 51:
					o_carryObjNumbers = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_008_Resources.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &50=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_carryObjs, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &51=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_carryObjNumbers, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 50:
						this.o_carryObjs = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 51:
						this.o_carryObjNumbers = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_008_Resources_dic = { 
	"m_fieldArr" : {
		"50" : new CSUtils.AField(50, "CSUtilss.CInt4[]", "携带物品类型", "", "o_carryObjs", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_008_Resources"),
		"51" : new CSUtils.AField(51, "System.Int32[]", "携带物品数量", "", "o_carryObjNumbers", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_008_Resources"),
	},
}

//--------10_10_011_010----
//----物品--
CComposite.Object.PartData_Item = function(){}
CComposite.Object.PartData_Item.prototype = {
	get m_className() {return "PartData_Item";},
	get m_typeId() {return "10_10_011_010";},
	get m_typeTag() {return "物品";},
	get m_fieldArr() {return CComposite.Object.PartData_Item_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_Item.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_Item_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_010----
//----物品Cfg--
CComposite.Object.PartCfg_Item = function(){}
CComposite.Object.PartCfg_Item.prototype = {
	get m_className() {return "PartCfg_Item";},
	get m_typeId() {return "10_10_010_010";},
	get m_typeTag() {return "物品Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_Item_dic.m_fieldArr;},
	_instanceId : 0,

	diamondsRatio: 0,//Single----钻石换算比例----
	o_name: "",//String----名字----
	o_SpecialPropertys: {},//Single[]----数值属性1----0=物理伤害百分比//1=魔法伤害百分比//2=是否自身(0=技能敌人,1=技能自身,2=自身)//3=属性类型//4=属性value//5=属性value是否百分比//6=属性value是否百分比//7=属性优先级
	o_SpecialPropertys2: {},//Single[]----数值属性2----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 45:
				return diamondsRatio;
			case 52:
				return o_name;
			case 223:
				return o_SpecialPropertys;
			case 224:
				return o_SpecialPropertys2;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 45:
				diamondsRatio = obj;
				break;
			case 52:
				o_name = obj;
				break;
			case 223:
				o_SpecialPropertys = obj;
				break;
			case 224:
				o_SpecialPropertys2 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (diamondsRatio != 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.Write(diamondsRatio);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(52);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_SpecialPropertys != null && o_SpecialPropertys.Length > 0) {
			binaryWriter.Write(223);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_SpecialPropertys, EBaseType.e008_float);//����
		}
		if (o_SpecialPropertys2 != null && o_SpecialPropertys2.Length > 0) {
			binaryWriter.Write(224);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_SpecialPropertys2, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 45:
				diamondsRatio = binaryReader.ReadSingle();
					break;
				case 52:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 223:
					o_SpecialPropertys = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 224:
					o_SpecialPropertys2 = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_Item.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &45=" + this.diamondsRatio;//--钻石换算比例
		str = str + "  &52=" + this.o_name;//--名字
		str = str + "  &223=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_SpecialPropertys, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &224=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_SpecialPropertys2, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 45:
						this.diamondsRatio = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 52:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 223:
						this.o_SpecialPropertys = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 224:
						this.o_SpecialPropertys2 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_Item_dic = { 
	"m_fieldArr" : {
		"45" : new CSUtils.AField(45, "System.Single", "钻石换算比例", "", "diamondsRatio", 3, "1", "1000", null, 0, "U3dGame.Obj.Part.PartCfg_Item"),
		"52" : new CSUtils.AField(52, "System.String", "名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_Item"),
		"223" : new CSUtils.AField(223, "System.Single[]", "数值属性1", "0=物理伤害百分比//1=魔法伤害百分比//2=是否自身(0=技能敌人,1=技能自身,2=自身)//3=属性类型//4=属性value//5=属性value是否百分比//6=属性value是否百分比//7=属性优先级", "o_SpecialPropertys", 3, "1", "20", "U3dGame.M_EternalProperty", 0, "U3dGame.Obj.Part.PartCfg_Item"),
		"224" : new CSUtils.AField(224, "System.Single[]", "数值属性2", "", "o_SpecialPropertys2", 3, "0", "100", "U3dGame.M_EternalProperty", 0, "U3dGame.Obj.Part.PartCfg_Item"),
	},
}

//--------10_10_011_012----
//----植物Cfg--
CComposite.Object.PartData_012_Plant = function(){}
CComposite.Object.PartData_012_Plant.prototype = {
	get m_className() {return "PartData_012_Plant";},
	get m_typeId() {return "10_10_011_012";},
	get m_typeTag() {return "植物Cfg";},
	get m_fieldArr() {return CComposite.Object.PartData_012_Plant_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_012_Plant.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_012_Plant_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_015----
//----发射技能--
CComposite.Object.PartData_015_SkillLaunch = function(){}
CComposite.Object.PartData_015_SkillLaunch.prototype = {
	get m_className() {return "PartData_015_SkillLaunch";},
	get m_typeId() {return "10_10_011_015";},
	get m_typeTag() {return "发射技能";},
	get m_fieldArr() {return CComposite.Object.PartData_015_SkillLaunch_dic.m_fieldArr;},
	_instanceId : 0,

	o_coolingTimeArr: {},//Single[]----冷却时间----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 50:
				return o_coolingTimeArr;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 50:
				o_coolingTimeArr = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_coolingTimeArr != null && o_coolingTimeArr.Length > 0) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_coolingTimeArr, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 50:
					o_coolingTimeArr = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_015_SkillLaunch.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &50=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_coolingTimeArr, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 50:
						this.o_coolingTimeArr = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_015_SkillLaunch_dic = { 
	"m_fieldArr" : {
		"50" : new CSUtils.AField(50, "System.Single[]", "冷却时间", "", "o_coolingTimeArr", 2, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_015_SkillLaunch"),
	},
}

//--------10_10_010_015----
//----发射技能Cfg--
CComposite.Object.PartCfg_015_SkillLaunch = function(){}
CComposite.Object.PartCfg_015_SkillLaunch.prototype = {
	get m_className() {return "PartCfg_015_SkillLaunch";},
	get m_typeId() {return "10_10_010_015";},
	get m_typeTag() {return "发射技能Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_015_SkillLaunch_dic.m_fieldArr;},
	_instanceId : 0,

	o_skillOnlyPathArr: {},//CInt4[]----技能表----
	o_coolingTimeArrArr: {},//Single[][]----冷却时间----sad
	o_availableNumberArr: {},//Int32[]----可用次数/n----技能可以重复使用的次数
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 45:
				return o_skillOnlyPathArr;
			case 50:
				return o_coolingTimeArrArr;
			case 51:
				return o_availableNumberArr;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 45:
				o_skillOnlyPathArr = obj;
				break;
			case 50:
				o_coolingTimeArrArr = obj;
				break;
			case 51:
				o_availableNumberArr = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_skillOnlyPathArr != null && o_skillOnlyPathArr.Length > 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_skillOnlyPathArr, EBaseType.e014_Int4);//����
		}
		if (o_coolingTimeArrArr != null && o_coolingTimeArrArr.Length > 0) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_coolingTimeArrArr, EBaseType.e008_float);//����
		}
		if (o_availableNumberArr != null && o_availableNumberArr.Length > 0) {
			binaryWriter.Write(51);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_availableNumberArr, EBaseType.e006_int);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 45:
					o_skillOnlyPathArr = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 50:
					o_coolingTimeArrArr = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 51:
					o_availableNumberArr = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_015_SkillLaunch.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &45=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_skillOnlyPathArr, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &50=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_coolingTimeArrArr, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &51=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_availableNumberArr, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 45:
						this.o_skillOnlyPathArr = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 50:
						this.o_coolingTimeArrArr = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 51:
						this.o_availableNumberArr = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_015_SkillLaunch_dic = { 
	"m_fieldArr" : {
		"45" : new CSUtils.AField(45, "CSUtilss.CInt4[]", "技能表", "", "o_skillOnlyPathArr", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_015_SkillLaunch"),
		"50" : new CSUtils.AField(50, "System.Single[][]", "冷却时间", "sad", "o_coolingTimeArrArr", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_015_SkillLaunch"),
		"51" : new CSUtils.AField(51, "System.Int32[]", "可用次数/n", "技能可以重复使用的次数", "o_availableNumberArr", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_015_SkillLaunch"),
	},
}

//--------10_10_011_018----
//----动画--
CComposite.Object.PartData_018_RoleAnim = function(){}
CComposite.Object.PartData_018_RoleAnim.prototype = {
	get m_className() {return "PartData_018_RoleAnim";},
	get m_typeId() {return "10_10_011_018";},
	get m_typeTag() {return "动画";},
	get m_fieldArr() {return CComposite.Object.PartData_018_RoleAnim_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_018_RoleAnim.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_018_RoleAnim_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_018----
//----动画Cfg--
CComposite.Object.PartCfg_018_RoleAnim = function(){}
CComposite.Object.PartCfg_018_RoleAnim.prototype = {
	get m_className() {return "PartCfg_018_RoleAnim";},
	get m_typeId() {return "10_10_010_018";},
	get m_typeTag() {return "动画Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_018_RoleAnim_dic.m_fieldArr;},
	_instanceId : 0,

	o_animNames: {},//String[]----动画名称----
	o_animPlaySpeeds: {},//Single[]----播放速度----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 61:
				return o_animNames;
			case 63:
				return o_animPlaySpeeds;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 61:
				o_animNames = obj;
				break;
			case 63:
				o_animPlaySpeeds = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_animNames != null && o_animNames.Length > 0) {
			binaryWriter.Write(61);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_animNames, EBaseType.e012_string);//����
		}
		if (o_animPlaySpeeds != null && o_animPlaySpeeds.Length > 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_animPlaySpeeds, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 61:
					o_animNames = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 63:
					o_animPlaySpeeds = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_018_RoleAnim.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &61=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_animNames, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &63=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_animPlaySpeeds, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 61:
						this.o_animNames = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 63:
						this.o_animPlaySpeeds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_018_RoleAnim_dic = { 
	"m_fieldArr" : {
		"61" : new CSUtils.AField(61, "System.String[]", "动画名称", "", "o_animNames", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_018_RoleAnim"),
		"63" : new CSUtils.AField(63, "System.Single[]", "播放速度", "", "o_animPlaySpeeds", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_018_RoleAnim"),
	},
}

//--------10_10_011_021----
//----血条--
CComposite.Object.PartData_021_BloodBar = function(){}
CComposite.Object.PartData_021_BloodBar.prototype = {
	get m_className() {return "PartData_021_BloodBar";},
	get m_typeId() {return "10_10_011_021";},
	get m_typeTag() {return "血条";},
	get m_fieldArr() {return CComposite.Object.PartData_021_BloodBar_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_021_BloodBar.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_021_BloodBar_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_021----
//----血条Cfg--
CComposite.Object.PartCfg_021_BloodBar = function(){}
CComposite.Object.PartCfg_021_BloodBar.prototype = {
	get m_className() {return "PartCfg_021_BloodBar";},
	get m_typeId() {return "10_10_010_021";},
	get m_typeTag() {return "血条Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_021_BloodBar_dic.m_fieldArr;},
	_instanceId : 0,

	o_LableHeight: 0,//Single----血条高度----
	o_bloodStripType: 0,//E_BloodBarType----血条类型----(10=跟随标签,//20=英雄血条,//25=小型动物血条,//28=大型动物血条,//35=建筑血条
	o_bloodStripZoom: 0,//Single----血条缩放比例----
	o_fullBloodIsShowBloodBar: false,
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 18:
				return o_LableHeight;
			case 20:
				return o_bloodStripType;
			case 22:
				return o_bloodStripZoom;
			case 25:
				return o_fullBloodIsShowBloodBar;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 18:
				o_LableHeight = obj;
				break;
			case 20:
				o_bloodStripType = obj;
				break;
			case 22:
				o_bloodStripZoom = obj;
				break;
			case 25:
				o_fullBloodIsShowBloodBar = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_LableHeight != 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.Write(o_LableHeight);//ֵ
		}
		if (o_bloodStripType != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(o_bloodStripType);//ֵ
		}
		if (o_bloodStripZoom != 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.Write(o_bloodStripZoom);//ֵ
		}
		if (o_fullBloodIsShowBloodBar != false) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.Write(o_fullBloodIsShowBloodBar);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 18:
				o_LableHeight = binaryReader.ReadSingle();
					break;
				case 20:
					o_bloodStripType = binaryReader.ReadInt16(); //UI02.E_BloodBarType
					break;
				case 22:
				o_bloodStripZoom = binaryReader.ReadSingle();
					break;
				case 25:
					o_fullBloodIsShowBloodBar = binaryReader.ReadBoolean();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_021_BloodBar.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &18=" + this.o_LableHeight;//--血条高度
		str = str + "  &20=" + this.o_bloodStripType;//--血条类型
		str = str + "  &22=" + this.o_bloodStripZoom;//--血条缩放比例
		str = str + "  &25=" + this.o_fullBloodIsShowBloodBar;//--满血是否显示血条
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 18:
						this.o_LableHeight = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 20:
						this.o_bloodStripType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //UI02.E_BloodBarType
						break;
					case 22:
						this.o_bloodStripZoom = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 25:
						this.o_fullBloodIsShowBloodBar = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_021_BloodBar_dic = { 
	"m_fieldArr" : {
		"18" : new CSUtils.AField(18, "System.Single", "血条高度", "", "o_LableHeight", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_021_BloodBar"),
		"20" : new CSUtils.AField(20, "UI02.E_BloodBarType", "血条类型", "(10=跟随标签,//20=英雄血条,//25=小型动物血条,//28=大型动物血条,//35=建筑血条", "o_bloodStripType", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_021_BloodBar"),
		"22" : new CSUtils.AField(22, "System.Single", "血条缩放比例", "", "o_bloodStripZoom", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_021_BloodBar"),
		"25" : new CSUtils.AField(25, "System.Boolean", "满血是否显示血条", "", "o_fullBloodIsShowBloodBar", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_021_BloodBar"),
	},
}

//--------10_10_011_025----
//----建筑拖动--
CComposite.Object.PartData_025_BuildingDrag = function(){}
CComposite.Object.PartData_025_BuildingDrag.prototype = {
	get m_className() {return "PartData_025_BuildingDrag";},
	get m_typeId() {return "10_10_011_025";},
	get m_typeTag() {return "建筑拖动";},
	get m_fieldArr() {return CComposite.Object.PartData_025_BuildingDrag_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_025_BuildingDrag.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_025_BuildingDrag_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_025----
//----建筑拖动Cfg--
CComposite.Object.PartCfg_025_BuildingDrag = function(){}
CComposite.Object.PartCfg_025_BuildingDrag.prototype = {
	get m_className() {return "PartCfg_025_BuildingDrag";},
	get m_typeId() {return "10_10_010_025";},
	get m_typeTag() {return "建筑拖动Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_025_BuildingDrag_dic.m_fieldArr;},
	_instanceId : 0,

	o_isCanDrag: false,
	o_pathObstacleAreaScale: {},//Single[]----寻路障碍物区域缩放----模型边框的缩放
	o_pathObstacleCenterOffect: {},//Single[]----寻路障碍物中心偏移----中心偏移
	o_BuildingType: 0,//EBuildingType----建筑类型----121=经济设施//122=防御设施//123=陷阱设施//124=进攻设施//125=支持设施//126=装饰设施
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 42:
				return o_isCanDrag;
			case 44:
				return o_pathObstacleAreaScale;
			case 45:
				return o_pathObstacleCenterOffect;
			case 50:
				return o_BuildingType;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 42:
				o_isCanDrag = obj;
				break;
			case 44:
				o_pathObstacleAreaScale = obj;
				break;
			case 45:
				o_pathObstacleCenterOffect = obj;
				break;
			case 50:
				o_BuildingType = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_isCanDrag != false) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(o_isCanDrag);//ֵ
		}
		if (o_pathObstacleAreaScale != null && o_pathObstacleAreaScale.Length > 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_pathObstacleAreaScale, EBaseType.e008_float);//����
		}
		if (o_pathObstacleCenterOffect != null && o_pathObstacleCenterOffect.Length > 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_pathObstacleCenterOffect, EBaseType.e008_float);//����
		}
		if (o_BuildingType != 0) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(o_BuildingType);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 42:
					o_isCanDrag = binaryReader.ReadBoolean();
					break;
				case 44:
					o_pathObstacleAreaScale = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 45:
					o_pathObstacleCenterOffect = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 50:
					o_BuildingType = binaryReader.ReadInt16(); //CSUtilss.EBuildingType
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_025_BuildingDrag.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &42=" + this.o_isCanDrag;//--是否能移动
		str = str + "  &44=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_pathObstacleAreaScale, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &45=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_pathObstacleCenterOffect, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &50=" + this.o_BuildingType;//--建筑类型
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 42:
						this.o_isCanDrag = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 44:
						this.o_pathObstacleAreaScale = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 45:
						this.o_pathObstacleCenterOffect = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 50:
						this.o_BuildingType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //CSUtilss.EBuildingType
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_025_BuildingDrag_dic = { 
	"m_fieldArr" : {
		"42" : new CSUtils.AField(42, "System.Boolean", "是否能移动", "", "o_isCanDrag", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_025_BuildingDrag"),
		"44" : new CSUtils.AField(44, "System.Single[]", "寻路障碍物区域缩放", "模型边框的缩放", "o_pathObstacleAreaScale", 3, "0", "100", "UnityEngine.Vector3", 0, "U3dGame.Obj.Part.PartCfg_025_BuildingDrag"),
		"45" : new CSUtils.AField(45, "System.Single[]", "寻路障碍物中心偏移", "中心偏移", "o_pathObstacleCenterOffect", 3, "0", "100", "UnityEngine.Vector3", 0, "U3dGame.Obj.Part.PartCfg_025_BuildingDrag"),
		"50" : new CSUtils.AField(50, "CSUtilss.EBuildingType", "建筑类型", "121=经济设施//122=防御设施//123=陷阱设施//124=进攻设施//125=支持设施//126=装饰设施", "o_BuildingType", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_025_BuildingDrag"),
	},
}

//--------10_10_011_027----
//----搜索攻击--
CComposite.Object.PartData_027_SearchAttack = function(){}
CComposite.Object.PartData_027_SearchAttack.prototype = {
	get m_className() {return "PartData_027_SearchAttack";},
	get m_typeId() {return "10_10_011_027";},
	get m_typeTag() {return "搜索攻击";},
	get m_fieldArr() {return CComposite.Object.PartData_027_SearchAttack_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_027_SearchAttack.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_027_SearchAttack_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_027----
//----搜索攻击Cfg--
CComposite.Object.PartCfg_027_SearchAttack = function(){}
CComposite.Object.PartCfg_027_SearchAttack.prototype = {
	get m_className() {return "PartCfg_027_SearchAttack";},
	get m_typeId() {return "10_10_010_027";},
	get m_typeTag() {return "搜索攻击Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_027_SearchAttack_dic.m_fieldArr;},
	_instanceId : 0,

	isHaveAimAnimation: false,
	attackMinRadius: 0,//Single----工具最小半径----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 60:
				return isHaveAimAnimation;
			case 62:
				return attackMinRadius;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 60:
				isHaveAimAnimation = obj;
				break;
			case 62:
				attackMinRadius = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (isHaveAimAnimation != false) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.Write(isHaveAimAnimation);//ֵ
		}
		if (attackMinRadius != 0) {
			binaryWriter.Write(62);//�ֶ�����
			binaryWriter.Write(attackMinRadius);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 60:
					isHaveAimAnimation = binaryReader.ReadBoolean();
					break;
				case 62:
				attackMinRadius = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_027_SearchAttack.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &60=" + this.isHaveAimAnimation;//--是否有动画
		str = str + "  &62=" + this.attackMinRadius;//--工具最小半径
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 60:
						this.isHaveAimAnimation = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 62:
						this.attackMinRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_027_SearchAttack_dic = { 
	"m_fieldArr" : {
		"60" : new CSUtils.AField(60, "System.Boolean", "是否有动画", "", "isHaveAimAnimation", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_027_SearchAttack"),
		"62" : new CSUtils.AField(62, "System.Single", "工具最小半径", "", "attackMinRadius", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_027_SearchAttack"),
	},
}

//--------10_10_011_030----
//----升级生产--
CComposite.Object.PartData_030_UpGradeFixProduction = function(){}
CComposite.Object.PartData_030_UpGradeFixProduction.prototype = {
	get m_className() {return "PartData_030_UpGradeFixProduction";},
	get m_typeId() {return "10_10_011_030";},
	get m_typeTag() {return "升级生产";},
	get m_fieldArr() {return CComposite.Object.PartData_030_UpGradeFixProduction_dic.m_fieldArr;},
	_instanceId : 0,

	_timeTask_type: 0,//Int32--------
	timeTask_endTime: 0,//Int32--------
	timeTask_startTime: 0,//Int32--------
	timeTask_productionParameter: {},//CInt4[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 30:
				return _timeTask_type;
			case 31:
				return timeTask_endTime;
			case 32:
				return timeTask_startTime;
			case 33:
				return timeTask_productionParameter;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 30:
				_timeTask_type = obj;
				break;
			case 31:
				timeTask_endTime = obj;
				break;
			case 32:
				timeTask_startTime = obj;
				break;
			case 33:
				timeTask_productionParameter = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_timeTask_type != 0) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.Write(_timeTask_type);//ֵ
		}
		if (timeTask_endTime != 0) {
			binaryWriter.Write(31);//�ֶ�����
			binaryWriter.Write(timeTask_endTime);//ֵ
		}
		if (timeTask_startTime != 0) {
			binaryWriter.Write(32);//�ֶ�����
			binaryWriter.Write(timeTask_startTime);//ֵ
		}
		if (timeTask_productionParameter != null && timeTask_productionParameter.Length > 0) {
			binaryWriter.Write(33);//�ֶ�����
			binaryWriter.S_WriteByteArray(timeTask_productionParameter, EBaseType.e014_Int4);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 30:
					_timeTask_type = binaryReader.ReadInt32();
					break;
				case 31:
					timeTask_endTime = binaryReader.ReadInt32();
					break;
				case 32:
					timeTask_startTime = binaryReader.ReadInt32();
					break;
				case 33:
					timeTask_productionParameter = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_030_UpGradeFixProduction.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &30=" + this._timeTask_type;//--
		str = str + "  &31=" + this.timeTask_endTime;//--
		str = str + "  &32=" + this.timeTask_startTime;//--
		str = str + "  &33=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.timeTask_productionParameter, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 30:
						this._timeTask_type = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 31:
						this.timeTask_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 32:
						this.timeTask_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 33:
						this.timeTask_productionParameter = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_030_UpGradeFixProduction_dic = { 
	"m_fieldArr" : {
		"30" : new CSUtils.AField(30, "System.Int32", "", "", "_timeTask_type", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_030_UpGradeFixProduction"),
		"31" : new CSUtils.AField(31, "System.Int32", "", "", "timeTask_endTime", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_030_UpGradeFixProduction"),
		"32" : new CSUtils.AField(32, "System.Int32", "", "", "timeTask_startTime", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_030_UpGradeFixProduction"),
		"33" : new CSUtils.AField(33, "CSUtilss.CInt4[]", "", "", "timeTask_productionParameter", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_030_UpGradeFixProduction"),
	},
}

//--------10_10_010_030----
//----升级生产Cfg--
CComposite.Object.PartCfg_030_UpGradeFixProduction = function(){}
CComposite.Object.PartCfg_030_UpGradeFixProduction.prototype = {
	get m_className() {return "PartCfg_030_UpGradeFixProduction";},
	get m_typeId() {return "10_10_010_030";},
	get m_typeTag() {return "升级生产Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_030_UpGradeFixProduction_dic.m_fieldArr;},
	_instanceId : 0,

	o_upGradeNeedMaterialType: {},//CInt4[]----升级所需物资类型----
	o_upGradeNeedMaterialNumber: {},//Single[][]----升级所需物资数量----
	o_upGradeNeedTime: {},//Single[]----升级所需时间/n----
	o_fixNeedMaterialType: {},//CInt4[]----修复所需物资类型----w
	o_fixNeedMaterialNumber: {},//Single[][]----修复所需物资数量----w
	o_fixNeedTime: {},//Single[]----修复所需时间----1
	o_productionMatType: {},//CInt4[]----生产物资类型----
	o_productionMatNumber: {},//Single[][]----生产物资数量----只有生产数量，没有生产时间,由于销毁时获得的物质数量
	o_productionNeedTime: {},//Single[][]----生产所需时间----0=1级数值 _ 1=最大等级数值 _ 2=最大等级 _ 3=增长系数=Pow(level,3)
	o_StorageMaxNumber: {},//Single[][]----生产最大临时存储数量----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 165:
				return o_upGradeNeedMaterialType;
			case 166:
				return o_upGradeNeedMaterialNumber;
			case 170:
				return o_upGradeNeedTime;
			case 171:
				return o_fixNeedMaterialType;
			case 172:
				return o_fixNeedMaterialNumber;
			case 173:
				return o_fixNeedTime;
			case 200:
				return o_productionMatType;
			case 202:
				return o_productionMatNumber;
			case 203:
				return o_productionNeedTime;
			case 204:
				return o_StorageMaxNumber;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 165:
				o_upGradeNeedMaterialType = obj;
				break;
			case 166:
				o_upGradeNeedMaterialNumber = obj;
				break;
			case 170:
				o_upGradeNeedTime = obj;
				break;
			case 171:
				o_fixNeedMaterialType = obj;
				break;
			case 172:
				o_fixNeedMaterialNumber = obj;
				break;
			case 173:
				o_fixNeedTime = obj;
				break;
			case 200:
				o_productionMatType = obj;
				break;
			case 202:
				o_productionMatNumber = obj;
				break;
			case 203:
				o_productionNeedTime = obj;
				break;
			case 204:
				o_StorageMaxNumber = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_upGradeNeedMaterialType != null && o_upGradeNeedMaterialType.Length > 0) {
			binaryWriter.Write(165);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_upGradeNeedMaterialType, EBaseType.e014_Int4);//����
		}
		if (o_upGradeNeedMaterialNumber != null && o_upGradeNeedMaterialNumber.Length > 0) {
			binaryWriter.Write(166);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_upGradeNeedMaterialNumber, EBaseType.e008_float);//����
		}
		if (o_upGradeNeedTime != null && o_upGradeNeedTime.Length > 0) {
			binaryWriter.Write(170);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_upGradeNeedTime, EBaseType.e008_float);//����
		}
		if (o_fixNeedMaterialType != null && o_fixNeedMaterialType.Length > 0) {
			binaryWriter.Write(171);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_fixNeedMaterialType, EBaseType.e014_Int4);//����
		}
		if (o_fixNeedMaterialNumber != null && o_fixNeedMaterialNumber.Length > 0) {
			binaryWriter.Write(172);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_fixNeedMaterialNumber, EBaseType.e008_float);//����
		}
		if (o_fixNeedTime != null && o_fixNeedTime.Length > 0) {
			binaryWriter.Write(173);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_fixNeedTime, EBaseType.e008_float);//����
		}
		if (o_productionMatType != null && o_productionMatType.Length > 0) {
			binaryWriter.Write(200);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_productionMatType, EBaseType.e014_Int4);//����
		}
		if (o_productionMatNumber != null && o_productionMatNumber.Length > 0) {
			binaryWriter.Write(202);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_productionMatNumber, EBaseType.e008_float);//����
		}
		if (o_productionNeedTime != null && o_productionNeedTime.Length > 0) {
			binaryWriter.Write(203);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_productionNeedTime, EBaseType.e008_float);//����
		}
		if (o_StorageMaxNumber != null && o_StorageMaxNumber.Length > 0) {
			binaryWriter.Write(204);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_StorageMaxNumber, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 165:
					o_upGradeNeedMaterialType = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 166:
					o_upGradeNeedMaterialNumber = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 170:
					o_upGradeNeedTime = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 171:
					o_fixNeedMaterialType = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 172:
					o_fixNeedMaterialNumber = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 173:
					o_fixNeedTime = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 200:
					o_productionMatType = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 202:
					o_productionMatNumber = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 203:
					o_productionNeedTime = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 204:
					o_StorageMaxNumber = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &165=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_upGradeNeedMaterialType, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &166=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_upGradeNeedMaterialNumber, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &170=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_upGradeNeedTime, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &171=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_fixNeedMaterialType, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &172=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_fixNeedMaterialNumber, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &173=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_fixNeedTime, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &200=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_productionMatType, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &202=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_productionMatNumber, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &203=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_productionNeedTime, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &204=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_StorageMaxNumber, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 165:
						this.o_upGradeNeedMaterialType = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 166:
						this.o_upGradeNeedMaterialNumber = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 170:
						this.o_upGradeNeedTime = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 171:
						this.o_fixNeedMaterialType = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 172:
						this.o_fixNeedMaterialNumber = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 173:
						this.o_fixNeedTime = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 200:
						this.o_productionMatType = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 202:
						this.o_productionMatNumber = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 203:
						this.o_productionNeedTime = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 204:
						this.o_StorageMaxNumber = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_030_UpGradeFixProduction_dic = { 
	"m_fieldArr" : {
		"165" : new CSUtils.AField(165, "CSUtilss.CInt4[]", "升级所需物资类型", "", "o_upGradeNeedMaterialType", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"166" : new CSUtils.AField(166, "System.Single[][]", "升级所需物资数量", "", "o_upGradeNeedMaterialNumber", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"170" : new CSUtils.AField(170, "System.Single[]", "升级所需时间/n", "", "o_upGradeNeedTime", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"171" : new CSUtils.AField(171, "CSUtilss.CInt4[]", "修复所需物资类型", "w", "o_fixNeedMaterialType", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"172" : new CSUtils.AField(172, "System.Single[][]", "修复所需物资数量", "w", "o_fixNeedMaterialNumber", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"173" : new CSUtils.AField(173, "System.Single[]", "修复所需时间", "1", "o_fixNeedTime", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"200" : new CSUtils.AField(200, "CSUtilss.CInt4[]", "生产物资类型", "", "o_productionMatType", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"202" : new CSUtils.AField(202, "System.Single[][]", "生产物资数量", "只有生产数量，没有生产时间,由于销毁时获得的物质数量", "o_productionMatNumber", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"203" : new CSUtils.AField(203, "System.Single[][]", "生产所需时间", "0=1级数值 _ 1=最大等级数值 _ 2=最大等级 _ 3=增长系数=Pow(level,3)", "o_productionNeedTime", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
		"204" : new CSUtils.AField(204, "System.Single[][]", "生产最大临时存储数量", "", "o_StorageMaxNumber", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_030_UpGradeFixProduction"),
	},
}

//--------10_10_011_032----
//----农田--
CComposite.Object.PartData_032_Farmland = function(){}
CComposite.Object.PartData_032_Farmland.prototype = {
	get m_className() {return "PartData_032_Farmland";},
	get m_typeId() {return "10_10_011_032";},
	get m_typeTag() {return "农田";},
	get m_fieldArr() {return CComposite.Object.PartData_032_Farmland_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_032_Farmland.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_032_Farmland_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_034----
//----存储--
CComposite.Object.PartData_034_Storage = function(){}
CComposite.Object.PartData_034_Storage.prototype = {
	get m_className() {return "PartData_034_Storage";},
	get m_typeId() {return "10_10_011_034";},
	get m_typeTag() {return "存储";},
	get m_fieldArr() {return CComposite.Object.PartData_034_Storage_dic.m_fieldArr;},
	_instanceId : 0,

	_dataTypes: {},//CInt4[]--------
	_dataValue: {},//Double[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 12:
				return _dataTypes;
			case 13:
				return _dataValue;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 12:
				_dataTypes = obj;
				break;
			case 13:
				_dataValue = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_dataTypes != null && _dataTypes.Length > 0) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteArray(_dataTypes, EBaseType.e014_Int4);//����
		}
		if (_dataValue != null && _dataValue.Length > 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteArray(_dataValue, EBaseType.e009_double);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 12:
					_dataTypes = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 13:
					_dataValue = binaryReader.S_ReadByteArray(EBaseType.e009_double, System.Double, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_034_Storage.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &12=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._dataTypes, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &13=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._dataValue, EBaseType.e018_array, EBaseType.e009_double);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 12:
						this._dataTypes = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 13:
						this._dataValue = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e009_double, uintObjDic); //System.Double
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_034_Storage_dic = { 
	"m_fieldArr" : {
		"12" : new CSUtils.AField(12, "CSUtilss.CInt4[]", "", "", "_dataTypes", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_034_Storage"),
		"13" : new CSUtils.AField(13, "System.Double[]", "", "", "_dataValue", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_034_Storage"),
	},
}

//--------10_10_010_034----
//----存储Cfg--
CComposite.Object.PartCfg_034_Storage = function(){}
CComposite.Object.PartCfg_034_Storage.prototype = {
	get m_className() {return "PartCfg_034_Storage";},
	get m_typeId() {return "10_10_010_034";},
	get m_typeTag() {return "存储Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_034_Storage_dic.m_fieldArr;},
	_instanceId : 0,

	o_storageMatType: {},//CInt4[]----存储物资类型----w
	o_storageMaxNumber: {},//Single[][]----最大存储数量----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 41:
				return o_storageMatType;
			case 54:
				return o_storageMaxNumber;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 41:
				o_storageMatType = obj;
				break;
			case 54:
				o_storageMaxNumber = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_storageMatType != null && o_storageMatType.Length > 0) {
			binaryWriter.Write(41);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_storageMatType, EBaseType.e014_Int4);//����
		}
		if (o_storageMaxNumber != null && o_storageMaxNumber.Length > 0) {
			binaryWriter.Write(54);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_storageMaxNumber, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 41:
					o_storageMatType = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 54:
					o_storageMaxNumber = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_034_Storage.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &41=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_storageMatType, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &54=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_storageMaxNumber, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 41:
						this.o_storageMatType = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 54:
						this.o_storageMaxNumber = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_034_Storage_dic = { 
	"m_fieldArr" : {
		"41" : new CSUtils.AField(41, "CSUtilss.CInt4[]", "存储物资类型", "w", "o_storageMatType", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_034_Storage"),
		"54" : new CSUtils.AField(54, "System.Single[][]", "最大存储数量", "", "o_storageMaxNumber", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_034_Storage"),
	},
}

//--------10_10_011_035----
//----商店--
CComposite.Object.PartData_035_Store = function(){}
CComposite.Object.PartData_035_Store.prototype = {
	get m_className() {return "PartData_035_Store";},
	get m_typeId() {return "10_10_011_035";},
	get m_typeTag() {return "商店";},
	get m_fieldArr() {return CComposite.Object.PartData_035_Store_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_035_Store.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_035_Store_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_038----
//----怪物巢穴--
CComposite.Object.PartData_038_MonsterNest = function(){}
CComposite.Object.PartData_038_MonsterNest.prototype = {
	get m_className() {return "PartData_038_MonsterNest";},
	get m_typeId() {return "10_10_011_038";},
	get m_typeTag() {return "怪物巢穴";},
	get m_fieldArr() {return CComposite.Object.PartData_038_MonsterNest_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_038_MonsterNest.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_038_MonsterNest_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_038----
//----怪物巢穴Cfg--
CComposite.Object.PartCfg_038_MonsterNest = function(){}
CComposite.Object.PartCfg_038_MonsterNest.prototype = {
	get m_className() {return "PartCfg_038_MonsterNest";},
	get m_typeId() {return "10_10_010_038";},
	get m_typeTag() {return "怪物巢穴Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_038_MonsterNest_dic.m_fieldArr;},
	_instanceId : 0,

	o_maxMonsterNumberLimit: 0,//UInt16----怪物最大数量----
	o_preCreateTime: {},//Single[]----怪物数量少于三分之一时，何时开始下一波进攻----
	o_monsterTypes: {},//CInt4[]----怪物类型s----
	o_liveRadius: 0,//Single----活动范围----
	o_leaderLiveRadius: 0,//Single----领导活动范围----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 52:
				return o_maxMonsterNumberLimit;
			case 55:
				return o_preCreateTime;
			case 68:
				return o_monsterTypes;
			case 72:
				return o_liveRadius;
			case 73:
				return o_leaderLiveRadius;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 52:
				o_maxMonsterNumberLimit = obj;
				break;
			case 55:
				o_preCreateTime = obj;
				break;
			case 68:
				o_monsterTypes = obj;
				break;
			case 72:
				o_liveRadius = obj;
				break;
			case 73:
				o_leaderLiveRadius = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_maxMonsterNumberLimit != 0) {
			binaryWriter.Write(52);//�ֶ�����
			binaryWriter.Write(o_maxMonsterNumberLimit);//ֵ
		}
		if (o_preCreateTime != null && o_preCreateTime.Length > 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_preCreateTime, EBaseType.e008_float);//����
		}
		if (o_monsterTypes != null && o_monsterTypes.Length > 0) {
			binaryWriter.Write(68);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_monsterTypes, EBaseType.e014_Int4);//����
		}
		if (o_liveRadius != 0) {
			binaryWriter.Write(72);//�ֶ�����
			binaryWriter.Write(o_liveRadius);//ֵ
		}
		if (o_leaderLiveRadius != 0) {
			binaryWriter.Write(73);//�ֶ�����
			binaryWriter.Write(o_leaderLiveRadius);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 52:
			o_maxMonsterNumberLimit = binaryReader.ReadUInt16();
					break;
				case 55:
					o_preCreateTime = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 68:
					o_monsterTypes = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 72:
				o_liveRadius = binaryReader.ReadSingle();
					break;
				case 73:
				o_leaderLiveRadius = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_038_MonsterNest.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &52=" + this.o_maxMonsterNumberLimit;//--怪物最大数量
		str = str + "  &55=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_preCreateTime, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &68=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_monsterTypes, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &72=" + this.o_liveRadius;//--活动范围
		str = str + "  &73=" + this.o_leaderLiveRadius;//--领导活动范围
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 52:
						this.o_maxMonsterNumberLimit = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 55:
						this.o_preCreateTime = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 68:
						this.o_monsterTypes = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 72:
						this.o_liveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 73:
						this.o_leaderLiveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_038_MonsterNest_dic = { 
	"m_fieldArr" : {
		"52" : new CSUtils.AField(52, "System.UInt16", "怪物最大数量", "", "o_maxMonsterNumberLimit", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_038_MonsterNest"),
		"55" : new CSUtils.AField(55, "System.Single[]", "怪物数量少于三分之一时，何时开始下一波进攻", "", "o_preCreateTime", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_038_MonsterNest"),
		"68" : new CSUtils.AField(68, "CSUtilss.CInt4[]", "怪物类型s", "", "o_monsterTypes", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_038_MonsterNest"),
		"72" : new CSUtils.AField(72, "System.Single", "活动范围", "", "o_liveRadius", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_038_MonsterNest"),
		"73" : new CSUtils.AField(73, "System.Single", "领导活动范围", "", "o_leaderLiveRadius", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartCfg_038_MonsterNest"),
	},
}

//--------10_10_011_040----
//----野怪AI--
CComposite.Object.PartData_040_WildRoleAI = function(){}
CComposite.Object.PartData_040_WildRoleAI.prototype = {
	get m_className() {return "PartData_040_WildRoleAI";},
	get m_typeId() {return "10_10_011_040";},
	get m_typeTag() {return "野怪AI";},
	get m_fieldArr() {return CComposite.Object.PartData_040_WildRoleAI_dic.m_fieldArr;},
	_instanceId : 0,

	_leaderOrNest: {},//Int32[]--------
	_targetObj: {},//Int32[]--------
	_targetPoint: {},//Single[]--------
	liveRadius: 0,//Single--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 3:
				return _leaderOrNest;
			case 64:
				return _targetObj;
			case 65:
				return _targetPoint;
			case 67:
				return liveRadius;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 3:
				_leaderOrNest = obj;
				break;
			case 64:
				_targetObj = obj;
				break;
			case 65:
				_targetPoint = obj;
				break;
			case 67:
				liveRadius = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_leaderOrNest != null && _leaderOrNest.Length > 0) {
			binaryWriter.Write(3);//�ֶ�����
			binaryWriter.S_WriteByteArray(_leaderOrNest, EBaseType.e006_int);//����
		}
		if (_targetObj != null && _targetObj.Length > 0) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.S_WriteByteArray(_targetObj, EBaseType.e006_int);//����
		}
		if (_targetPoint != null && _targetPoint.Length > 0) {
			binaryWriter.Write(65);//�ֶ�����
			binaryWriter.S_WriteByteArray(_targetPoint, EBaseType.e008_float);//����
		}
		if (liveRadius != 0) {
			binaryWriter.Write(67);//�ֶ�����
			binaryWriter.Write(liveRadius);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 3:
					_leaderOrNest = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 64:
					_targetObj = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 65:
					_targetPoint = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 67:
				liveRadius = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_040_WildRoleAI.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &3=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._leaderOrNest, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &64=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._targetObj, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &65=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._targetPoint, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &67=" + this.liveRadius;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 3:
						this._leaderOrNest = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 64:
						this._targetObj = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 65:
						this._targetPoint = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 67:
						this.liveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_040_WildRoleAI_dic = { 
	"m_fieldArr" : {
		"3" : new CSUtils.AField(3, "System.Int32[]", "", "", "_leaderOrNest", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_040_WildRoleAI"),
		"64" : new CSUtils.AField(64, "System.Int32[]", "", "", "_targetObj", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_040_WildRoleAI"),
		"65" : new CSUtils.AField(65, "System.Single[]", "", "", "_targetPoint", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_040_WildRoleAI"),
		"67" : new CSUtils.AField(67, "System.Single", "", "", "liveRadius", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_040_WildRoleAI"),
	},
}

//--------10_10_010_040----
//----野怪AICfg--
CComposite.Object.PartCfg_040_WildRoleAI = function(){}
CComposite.Object.PartCfg_040_WildRoleAI.prototype = {
	get m_className() {return "PartCfg_040_WildRoleAI";},
	get m_typeId() {return "10_10_010_040";},
	get m_typeTag() {return "野怪AICfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_040_WildRoleAI_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_040_WildRoleAI.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_040_WildRoleAI_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_042----
//----行为树--
CComposite.Object.PartData_042_BehaviorTree = function(){}
CComposite.Object.PartData_042_BehaviorTree.prototype = {
	get m_className() {return "PartData_042_BehaviorTree";},
	get m_typeId() {return "10_10_011_042";},
	get m_typeTag() {return "行为树";},
	get m_fieldArr() {return CComposite.Object.PartData_042_BehaviorTree_dic.m_fieldArr;},
	_instanceId : 0,

	o_monsterGroupId: 0,//Int32----群组Id----
	o_monsterNestId: {a:0,b:0,c:0,d:0},//CInt4----怪物巢穴----
	o_monsterChiefId: {a:0,b:0,c:0,d:0},//CInt4----怪物首领----
	o_liveRadius: 0,//Single----活动范围----
	o_leaderLiveRadius: 0,//Single----领导活动范围----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 66:
				return o_monsterGroupId;
			case 67:
				return o_monsterNestId;
			case 68:
				return o_monsterChiefId;
			case 72:
				return o_liveRadius;
			case 73:
				return o_leaderLiveRadius;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 66:
				o_monsterGroupId = obj;
				break;
			case 67:
				o_monsterNestId = obj;
				break;
			case 68:
				o_monsterChiefId = obj;
				break;
			case 72:
				o_liveRadius = obj;
				break;
			case 73:
				o_leaderLiveRadius = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_monsterGroupId != 0) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.Write(o_monsterGroupId);//ֵ
		}
		if (o_monsterNestId != null && o_monsterNestId != CInt4.zero) {
			binaryWriter.Write(67);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterNestId, EBaseType.e014_Int4);
		}
		if (o_monsterChiefId != null && o_monsterChiefId != CInt4.zero) {
			binaryWriter.Write(68);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterChiefId, EBaseType.e014_Int4);
		}
		if (o_liveRadius != 0) {
			binaryWriter.Write(72);//�ֶ�����
			binaryWriter.Write(o_liveRadius);//ֵ
		}
		if (o_leaderLiveRadius != 0) {
			binaryWriter.Write(73);//�ֶ�����
			binaryWriter.Write(o_leaderLiveRadius);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 66:
					o_monsterGroupId = binaryReader.ReadInt32();
					break;
				case 67:
				o_monsterNestId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 68:
				o_monsterChiefId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 72:
				o_liveRadius = binaryReader.ReadSingle();
					break;
				case 73:
				o_leaderLiveRadius = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_042_BehaviorTree.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &66=" + this.o_monsterGroupId;//--群组Id
		str = str + "  &67=" + this.o_monsterNestId;//--怪物巢穴
		str = str + "  &68=" + this.o_monsterChiefId;//--怪物首领
		str = str + "  &72=" + this.o_liveRadius;//--活动范围
		str = str + "  &73=" + this.o_leaderLiveRadius;//--领导活动范围
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 66:
						this.o_monsterGroupId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 67:
						this.o_monsterNestId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 68:
						this.o_monsterChiefId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 72:
						this.o_liveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 73:
						this.o_leaderLiveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_042_BehaviorTree_dic = { 
	"m_fieldArr" : {
		"66" : new CSUtils.AField(66, "System.Int32", "群组Id", "", "o_monsterGroupId", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_042_BehaviorTree"),
		"67" : new CSUtils.AField(67, "CSUtilss.CInt4", "怪物巢穴", "", "o_monsterNestId", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_042_BehaviorTree"),
		"68" : new CSUtils.AField(68, "CSUtilss.CInt4", "怪物首领", "", "o_monsterChiefId", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_042_BehaviorTree"),
		"72" : new CSUtils.AField(72, "System.Single", "活动范围", "", "o_liveRadius", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_042_BehaviorTree"),
		"73" : new CSUtils.AField(73, "System.Single", "领导活动范围", "", "o_leaderLiveRadius", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_042_BehaviorTree"),
	},
}

//--------10_10_010_042----
//----行为树Cfg--
CComposite.Object.PartCfg_042_BehaviorTree = function(){}
CComposite.Object.PartCfg_042_BehaviorTree.prototype = {
	get m_className() {return "PartCfg_042_BehaviorTree";},
	get m_typeId() {return "10_10_010_042";},
	get m_typeTag() {return "行为树Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_042_BehaviorTree_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_042_BehaviorTree.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_042_BehaviorTree_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_044----
//----角色移动--
CComposite.Object.PartData_044_Move = function(){}
CComposite.Object.PartData_044_Move.prototype = {
	get m_className() {return "PartData_044_Move";},
	get m_typeId() {return "10_10_011_044";},
	get m_typeTag() {return "角色移动";},
	get m_fieldArr() {return CComposite.Object.PartData_044_Move_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_044_Move.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_044_Move_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_010_044----
//----角色移动Cfg--
CComposite.Object.PartCfg_044_Move = function(){}
CComposite.Object.PartCfg_044_Move.prototype = {
	get m_className() {return "PartCfg_044_Move";},
	get m_typeId() {return "10_10_010_044";},
	get m_typeTag() {return "角色移动Cfg";},
	get m_fieldArr() {return CComposite.Object.PartCfg_044_Move_dic.m_fieldArr;},
	_instanceId : 0,

	o_moveSpeed: {},//Single[]----移动速度----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 40:
				return o_moveSpeed;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 40:
				o_moveSpeed = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_moveSpeed != null && o_moveSpeed.Length > 0) {
			binaryWriter.Write(40);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_moveSpeed, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 40:
					o_moveSpeed = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartCfg_044_Move.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &40=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_moveSpeed, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 40:
						this.o_moveSpeed = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartCfg_044_Move_dic = { 
	"m_fieldArr" : {
		"40" : new CSUtils.AField(40, "System.Single[]", "移动速度", "", "o_moveSpeed", 3, "3", "6", "CSUtilss.C4Curve", 0, "U3dGame.Obj.Part.PartCfg_044_Move"),
	},
}

//--------10_10_011_060----
//----军旗--
CComposite.Object.PartData_060_Militaryflag = function(){}
CComposite.Object.PartData_060_Militaryflag.prototype = {
	get m_className() {return "PartData_060_Militaryflag";},
	get m_typeId() {return "10_10_011_060";},
	get m_typeTag() {return "军旗";},
	get m_fieldArr() {return CComposite.Object.PartData_060_Militaryflag_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_060_Militaryflag.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_060_Militaryflag_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_061----
//----护盾--
CComposite.Object.PartData_061_Shield = function(){}
CComposite.Object.PartData_061_Shield.prototype = {
	get m_className() {return "PartData_061_Shield";},
	get m_typeId() {return "10_10_011_061";},
	get m_typeTag() {return "护盾";},
	get m_fieldArr() {return CComposite.Object.PartData_061_Shield_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_061_Shield.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_061_Shield_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_063----
//----炸弹--
CComposite.Object.PartData_063_Bomb = function(){}
CComposite.Object.PartData_063_Bomb.prototype = {
	get m_className() {return "PartData_063_Bomb";},
	get m_typeId() {return "10_10_011_063";},
	get m_typeTag() {return "炸弹";},
	get m_fieldArr() {return CComposite.Object.PartData_063_Bomb_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_063_Bomb.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_063_Bomb_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_070----
//----飞船--
CComposite.Object.PartData_070_Airship = function(){}
CComposite.Object.PartData_070_Airship.prototype = {
	get m_className() {return "PartData_070_Airship";},
	get m_typeId() {return "10_10_011_070";},
	get m_typeTag() {return "飞船";},
	get m_fieldArr() {return CComposite.Object.PartData_070_Airship_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_070_Airship.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_070_Airship_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_071----
//----船--
CComposite.Object.PartData_071_Ship = function(){}
CComposite.Object.PartData_071_Ship.prototype = {
	get m_className() {return "PartData_071_Ship";},
	get m_typeId() {return "10_10_011_071";},
	get m_typeTag() {return "船";},
	get m_fieldArr() {return CComposite.Object.PartData_071_Ship_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_071_Ship.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_071_Ship_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_072----
//----车--
CComposite.Object.PartData_072_Vehicle = function(){}
CComposite.Object.PartData_072_Vehicle.prototype = {
	get m_className() {return "PartData_072_Vehicle";},
	get m_typeId() {return "10_10_011_072";},
	get m_typeTag() {return "车";},
	get m_fieldArr() {return CComposite.Object.PartData_072_Vehicle_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_072_Vehicle.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_072_Vehicle_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_10_011_316----
//----主角控制--
CComposite.Object.PartData_016_FristPlayerControl = function(){}
CComposite.Object.PartData_016_FristPlayerControl.prototype = {
	get m_className() {return "PartData_016_FristPlayerControl";},
	get m_typeId() {return "10_10_011_316";},
	get m_typeTag() {return "主角控制";},
	get m_fieldArr() {return CComposite.Object.PartData_016_FristPlayerControl_dic.m_fieldArr;},
	_instanceId : 0,

	o_fristPlayerId: 0,//UInt32----第1玩家Id----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 20:
				return o_fristPlayerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 20:
				o_fristPlayerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_fristPlayerId != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(o_fristPlayerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 20:
					o_fristPlayerId = binaryReader.ReadUInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.PartData_016_FristPlayerControl.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &20=" + this.o_fristPlayerId;//--第1玩家Id
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 20:
						this.o_fristPlayerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Object.PartData_016_FristPlayerControl_dic = { 
	"m_fieldArr" : {
		"20" : new CSUtils.AField(20, "System.UInt32", "第1玩家Id", "", "o_fristPlayerId", 3, "0", "100", null, 0, "U3dGame.Obj.Part.PartData_016_FristPlayerControl"),
	},
}

//--------10_10_010_133----
//----Map_itemData--
CComposite.Part.Map_itemData = function(){}
CComposite.Part.Map_itemData.prototype = {
	get m_className() {return "Map_itemData";},
	get m_typeId() {return "10_10_010_133";},
	get m_typeTag() {return "Map_itemData";},
	get m_fieldArr() {return CComposite.Part.Map_itemData_dic.m_fieldArr;},
	_instanceId : 0,

	categoryMax: 0,//Int32----大类别----
	categoryMin: 0,//Int32----小类别----
	onlyPath: {a:0,b:0,c:0,d:0},//CInt4----唯一资源路径----
	rareRate: 0,//Single----稀有率----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 64:
				return categoryMax;
			case 66:
				return categoryMin;
			case 74:
				return onlyPath;
			case 76:
				return rareRate;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 64:
				categoryMax = obj;
				break;
			case 66:
				categoryMin = obj;
				break;
			case 74:
				onlyPath = obj;
				break;
			case 76:
				rareRate = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (categoryMax != 0) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.Write(categoryMax);//ֵ
		}
		if (categoryMin != 0) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.Write(categoryMin);//ֵ
		}
		if (onlyPath != null && onlyPath != CInt4.zero) {
			binaryWriter.Write(74);//�ֶ�����
			binaryWriter.S_WriteByteObj(onlyPath, EBaseType.e014_Int4);
		}
		if (rareRate != 0) {
			binaryWriter.Write(76);//�ֶ�����
			binaryWriter.Write(rareRate);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 64:
					categoryMax = binaryReader.ReadInt32();
					break;
				case 66:
					categoryMin = binaryReader.ReadInt32();
					break;
				case 74:
				onlyPath = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 76:
				rareRate = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.SandboxTerrain.Map_itemData.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &64=" + this.categoryMax;//--大类别
		str = str + "  &66=" + this.categoryMin;//--小类别
		str = str + "  &74=" + this.onlyPath;//--唯一资源路径
		str = str + "  &76=" + this.rareRate;//--稀有率
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 64:
						this.categoryMax = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 66:
						this.categoryMin = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 74:
						this.onlyPath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 76:
						this.rareRate = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.Map_itemData_dic = { 
	"m_fieldArr" : {
		"64" : new CSUtils.AField(64, "System.Int32", "大类别", "", "categoryMax", 3, "0", "100", null, 0, "U3dGame.SandboxTerrain.Map_itemData"),
		"66" : new CSUtils.AField(66, "System.Int32", "小类别", "", "categoryMin", 3, "0", "100", null, 0, "U3dGame.SandboxTerrain.Map_itemData"),
		"74" : new CSUtils.AField(74, "CSUtilss.CInt4", "唯一资源路径", "", "onlyPath", 3, "0", "100", null, 0, "U3dGame.SandboxTerrain.Map_itemData"),
		"76" : new CSUtils.AField(76, "System.Single", "稀有率", "", "rareRate", 3, "0", "100", null, 0, "U3dGame.SandboxTerrain.Map_itemData"),
	},
}

//--------10_08_010_031----
//----MapPartM8Painter--
CComposite.Part.MapPart_M8Painter_Data = function(){}
CComposite.Part.MapPart_M8Painter_Data.prototype = {
	get m_className() {return "MapPart_M8Painter_Data";},
	get m_typeId() {return "10_08_010_031";},
	get m_typeTag() {return "MapPartM8Painter";},
	get m_fieldArr() {return CComposite.Part.MapPart_M8Painter_Data_dic.m_fieldArr;},
	_instanceId : 0,

	e_createTerrainType: 0,//E_CreateTerrainType----创建地形类型----
	o_meshMaxHeight: 0,//Int32----地形最大高度----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 21:
				return e_createTerrainType;
			case 28:
				return o_meshMaxHeight;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 21:
				e_createTerrainType = obj;
				break;
			case 28:
				o_meshMaxHeight = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (e_createTerrainType != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(e_createTerrainType);//ֵ
		}
		if (o_meshMaxHeight != 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.Write(o_meshMaxHeight);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 21:
					e_createTerrainType = binaryReader.ReadInt16(); //U3dGame.InfiniteAdaptMap.E_CreateTerrainType
					break;
				case 28:
					o_meshMaxHeight = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.InfiniteAdaptMap.MapPart_M8Painter_Data.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &21=" + this.e_createTerrainType;//--创建地形类型
		str = str + "  &28=" + this.o_meshMaxHeight;//--地形最大高度
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 21:
						this.e_createTerrainType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.InfiniteAdaptMap.E_CreateTerrainType
						break;
					case 28:
						this.o_meshMaxHeight = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.MapPart_M8Painter_Data_dic = { 
	"m_fieldArr" : {
		"21" : new CSUtils.AField(21, "U3dGame.InfiniteAdaptMap.E_CreateTerrainType", "创建地形类型", "", "e_createTerrainType", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.MapPart_M8Painter_Data"),
		"28" : new CSUtils.AField(28, "System.Int32", "地形最大高度", "", "o_meshMaxHeight", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.MapPart_M8Painter_Data"),
	},
}

//--------10_08_010_039----
//----M8PainterData--
CComposite.Part.Part_039_M8Painter_Data = function(){}
CComposite.Part.Part_039_M8Painter_Data.prototype = {
	get m_className() {return "Part_039_M8Painter_Data";},
	get m_typeId() {return "10_08_010_039";},
	get m_typeTag() {return "M8PainterData";},
	get m_fieldArr() {return CComposite.Part.Part_039_M8Painter_Data_dic.m_fieldArr;},
	_instanceId : 0,

	_meshSize: {},//Single[]--------
	_meshSegment: {},//Int32[]--------
	isDrawMesh: false,
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 15:
				return _meshSize;
			case 17:
				return _meshSegment;
			case 19:
				return isDrawMesh;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 15:
				_meshSize = obj;
				break;
			case 17:
				_meshSegment = obj;
				break;
			case 19:
				isDrawMesh = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_meshSize != null && _meshSize.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(_meshSize, EBaseType.e008_float);//����
		}
		if (_meshSegment != null && _meshSegment.Length > 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.S_WriteByteArray(_meshSegment, EBaseType.e006_int);//����
		}
		if (isDrawMesh != false) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.Write(isDrawMesh);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 15:
					_meshSize = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 17:
					_meshSegment = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 19:
					isDrawMesh = binaryReader.ReadBoolean();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.InfiniteAdaptMap.Part_039_M8Painter_Data.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._meshSize, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &17=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._meshSegment, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &19=" + this.isDrawMesh;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 15:
						this._meshSize = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 17:
						this._meshSegment = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 19:
						this.isDrawMesh = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.Part_039_M8Painter_Data_dic = { 
	"m_fieldArr" : {
		"15" : new CSUtils.AField(15, "System.Single[]", "", "", "_meshSize", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Part_039_M8Painter_Data"),
		"17" : new CSUtils.AField(17, "System.Int32[]", "", "", "_meshSegment", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Part_039_M8Painter_Data"),
		"19" : new CSUtils.AField(19, "System.Boolean", "", "", "isDrawMesh", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Part_039_M8Painter_Data"),
	},
}

//--------10_08_010_010----
//----MapBox--
CComposite.Part.Map_Box_Data = function(){}
CComposite.Part.Map_Box_Data.prototype = {
	get m_className() {return "Map_Box_Data";},
	get m_typeId() {return "10_08_010_010";},
	get m_typeTag() {return "MapBox";},
	get m_fieldArr() {return CComposite.Part.Map_Box_Data_dic.m_fieldArr;},
	_instanceId : 0,

	_mainlandId: {},//Int32[]----板块坐标----
	_regionId: {},//Int32[]----区域坐标----
	_boxId: {},//Int32[]----格子坐标----
	_objDatas: {},//CObjData[]----物体集合----
	o_modifyDate: 0,//UInt32----修改时间----
	_ground: null,//CObjData----地面对象----可选选项,部分地图需要绝对地面
	o_allowSystemAutoAddObjState: 0,//Byte----允许系统自动添加物体的状态----0=完全系统添加,//5=植物可以系统添加,//10=不能系统添加
	mapParts: {},//MapPart_Data[]----地图组件----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return _mainlandId;
			case 12:
				return _regionId;
			case 13:
				return _boxId;
			case 14:
				return _objDatas;
			case 17:
				return o_modifyDate;
			case 20:
				return _ground;
			case 24:
				return o_allowSystemAutoAddObjState;
			case 30:
				return mapParts;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				_mainlandId = obj;
				break;
			case 12:
				_regionId = obj;
				break;
			case 13:
				_boxId = obj;
				break;
			case 14:
				_objDatas = obj;
				break;
			case 17:
				o_modifyDate = obj;
				break;
			case 20:
				_ground = obj;
				break;
			case 24:
				o_allowSystemAutoAddObjState = obj;
				break;
			case 30:
				mapParts = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_mainlandId != null && _mainlandId.Length > 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteArray(_mainlandId, EBaseType.e006_int);//����
		}
		if (_regionId != null && _regionId.Length > 0) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteArray(_regionId, EBaseType.e006_int);//����
		}
		if (_boxId != null && _boxId.Length > 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteArray(_boxId, EBaseType.e006_int);//����
		}
		if (_objDatas != null && _objDatas.Length > 0) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.S_WriteByteArray(_objDatas, EBaseType.e021_weData);//����
		}
		if (o_modifyDate != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(o_modifyDate);//ֵ
		}
		if (_ground != null) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.S_WriteByteObj(_ground, EBaseType.e021_weData);//WeData����
		}
		if (o_allowSystemAutoAddObjState != 0) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.Write(o_allowSystemAutoAddObjState);//ֵ
		}
		if (mapParts != null && mapParts.Length > 0) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.S_WriteByteArray(mapParts, EBaseType.e021_weData);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					_mainlandId = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 12:
					_regionId = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 13:
					_boxId = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 14:
					_objDatas = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.CObjData, uintObjDic);
					break;
				case 17:
					o_modifyDate = binaryReader.ReadUInt32();
					break;
				case 20:
					_ground = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.CObjData, uintObjDic);
					break;
				case 24:
				o_allowSystemAutoAddObjState = binaryReader.ReadByte();
					break;
				case 30:
					mapParts = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.InfiniteAdaptMap.MapPart_Data, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.InfiniteAdaptMap.Map_Box_Data.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._mainlandId, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &12=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._regionId, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &13=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._boxId, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &14=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._objDatas, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "  &17=" + this.o_modifyDate;//--修改时间
		str = str + "  &20=" + this._ground;//--地面对象
		str = str + "  &24=" + this.o_allowSystemAutoAddObjState;//--允许系统自动添加物体的状态
		str = str + "  &30=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.mapParts, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this._mainlandId = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 12:
						this._regionId = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 13:
						this._boxId = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 14:
						this._objDatas = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.CObjData
						break;
					case 17:
						this.o_modifyDate = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 20:
						this._ground = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 24:
						this.o_allowSystemAutoAddObjState = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 30:
						this.mapParts = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.InfiniteAdaptMap.MapPart_Data
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.Map_Box_Data_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32[]", "板块坐标", "", "_mainlandId", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Box_Data"),
		"12" : new CSUtils.AField(12, "System.Int32[]", "区域坐标", "", "_regionId", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Box_Data"),
		"13" : new CSUtils.AField(13, "System.Int32[]", "格子坐标", "", "_boxId", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Box_Data"),
		"14" : new CSUtils.AField(14, "U3dGame.CObjData[]", "物体集合", "", "_objDatas", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Box_Data"),
		"17" : new CSUtils.AField(17, "System.UInt32", "修改时间", "", "o_modifyDate", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Box_Data"),
		"20" : new CSUtils.AField(20, "U3dGame.CObjData", "地面对象", "可选选项,部分地图需要绝对地面", "_ground", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Box_Data"),
		"24" : new CSUtils.AField(24, "System.Byte", "允许系统自动添加物体的状态", "0=完全系统添加,//5=植物可以系统添加,//10=不能系统添加", "o_allowSystemAutoAddObjState", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Box_Data"),
		"30" : new CSUtils.AField(30, "U3dGame.InfiniteAdaptMap.MapPart_Data[]", "地图组件", "", "mapParts", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Box_Data"),
	},
}

//--------10_08_010_005----
//----InfiniteMapData--
CComposite.Part.Map_InfiniteMap_Data = function(){}
CComposite.Part.Map_InfiniteMap_Data.prototype = {
	get m_className() {return "Map_InfiniteMap_Data";},
	get m_typeId() {return "10_08_010_005";},
	get m_typeTag() {return "InfiniteMapData";},
	get m_fieldArr() {return CComposite.Part.Map_InfiniteMap_Data_dic.m_fieldArr;},
	_instanceId : 0,

	_partDatas: {},//MapPart_Data[]----组件数据Arr----
	_cfgIds: {},//CInt4[]----组件idArr----
	_startMainlandId: {},//Int32[]----开始板块坐标----
	_startBoxId: {},//Int32[]----开始区域坐标----
	_startPosi: {},//Int16[]----开始位置----
	o_mapName: "",//String----地图名称----
	o_author: "",//String----作者----
	_boxBounds: {},//Int32[]----盒子边界框.......1个box边长为(23, 50, 33)----
	_regionBounds: {},//Int32[]----区域边界框.......1个region由(6, 4, 6)个box组成----
	_mainlandBounds: {},//Int32[]----陆地板块边界框.......1个mainland由(6, 4, 6)个region组成----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 4:
				return _partDatas;
			case 5:
				return _cfgIds;
			case 12:
				return _startMainlandId;
			case 15:
				return _startBoxId;
			case 19:
				return _startPosi;
			case 29:
				return o_mapName;
			case 31:
				return o_author;
			case 51:
				return _boxBounds;
			case 53:
				return _regionBounds;
			case 55:
				return _mainlandBounds;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 4:
				_partDatas = obj;
				break;
			case 5:
				_cfgIds = obj;
				break;
			case 12:
				_startMainlandId = obj;
				break;
			case 15:
				_startBoxId = obj;
				break;
			case 19:
				_startPosi = obj;
				break;
			case 29:
				o_mapName = obj;
				break;
			case 31:
				o_author = obj;
				break;
			case 51:
				_boxBounds = obj;
				break;
			case 53:
				_regionBounds = obj;
				break;
			case 55:
				_mainlandBounds = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_partDatas != null && _partDatas.Length > 0) {
			binaryWriter.Write(4);//�ֶ�����
			binaryWriter.S_WriteByteArray(_partDatas, EBaseType.e021_weData);//����
		}
		if (_cfgIds != null && _cfgIds.Length > 0) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteArray(_cfgIds, EBaseType.e014_Int4);//����
		}
		if (_startMainlandId != null && _startMainlandId.Length > 0) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteArray(_startMainlandId, EBaseType.e006_int);//����
		}
		if (_startBoxId != null && _startBoxId.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(_startBoxId, EBaseType.e006_int);//����
		}
		if (_startPosi != null && _startPosi.Length > 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.S_WriteByteArray(_startPosi, EBaseType.e004_short);//����
		}
		if (string.IsNullOrEmpty(o_mapName) == false) {
			binaryWriter.Write(29);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_mapName, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_author) == false) {
			binaryWriter.Write(31);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_author, EBaseType.e012_string);
		}
		if (_boxBounds != null && _boxBounds.Length > 0) {
			binaryWriter.Write(51);//�ֶ�����
			binaryWriter.S_WriteByteArray(_boxBounds, EBaseType.e006_int);//����
		}
		if (_regionBounds != null && _regionBounds.Length > 0) {
			binaryWriter.Write(53);//�ֶ�����
			binaryWriter.S_WriteByteArray(_regionBounds, EBaseType.e006_int);//����
		}
		if (_mainlandBounds != null && _mainlandBounds.Length > 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.S_WriteByteArray(_mainlandBounds, EBaseType.e006_int);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 4:
					_partDatas = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.InfiniteAdaptMap.MapPart_Data, uintObjDic);
					break;
				case 5:
					_cfgIds = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 12:
					_startMainlandId = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 15:
					_startBoxId = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 19:
					_startPosi = binaryReader.S_ReadByteArray(EBaseType.e004_short, System.Int16, uintObjDic);
					break;
				case 29:
				o_mapName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 31:
				o_author = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 51:
					_boxBounds = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 53:
					_regionBounds = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 55:
					_mainlandBounds = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &4=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._partDatas, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "  &5=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._cfgIds, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &12=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._startMainlandId, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._startBoxId, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &19=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._startPosi, EBaseType.e018_array, EBaseType.e004_short);
		str = str + "  &29=" + this.o_mapName;//--地图名称
		str = str + "  &31=" + this.o_author;//--作者
		str = str + "  &51=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._boxBounds, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &53=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._regionBounds, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &55=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._mainlandBounds, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 4:
						this._partDatas = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.InfiniteAdaptMap.MapPart_Data
						break;
					case 5:
						this._cfgIds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 12:
						this._startMainlandId = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 15:
						this._startBoxId = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 19:
						this._startPosi = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e004_short, uintObjDic); //System.Int16
						break;
					case 29:
						this.o_mapName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 31:
						this.o_author = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 51:
						this._boxBounds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 53:
						this._regionBounds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 55:
						this._mainlandBounds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.Map_InfiniteMap_Data_dic = { 
	"m_fieldArr" : {
		"4" : new CSUtils.AField(4, "U3dGame.InfiniteAdaptMap.MapPart_Data[]", "组件数据Arr", "", "_partDatas", 3, "0", "100", null, 0, "U3dGame.IPartManageData<U3dGame.InfiniteAdaptMap.MapPart_Data>"),
		"5" : new CSUtils.AField(5, "CSUtilss.CInt4[]", "组件idArr", "", "_cfgIds", 3, "0", "100", null, 0, "U3dGame.IPartManageData<U3dGame.InfiniteAdaptMap.MapPart_Data>"),
		"12" : new CSUtils.AField(12, "System.Int32[]", "开始板块坐标", "", "_startMainlandId", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data"),
		"15" : new CSUtils.AField(15, "System.Int32[]", "开始区域坐标", "", "_startBoxId", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data"),
		"19" : new CSUtils.AField(19, "System.Int16[]", "开始位置", "", "_startPosi", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data"),
		"29" : new CSUtils.AField(29, "System.String", "地图名称", "", "o_mapName", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data"),
		"31" : new CSUtils.AField(31, "System.String", "作者", "", "o_author", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data"),
		"51" : new CSUtils.AField(51, "System.Int32[]", "盒子边界框.......1个box边长为(23, 50, 33)", "", "_boxBounds", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data"),
		"53" : new CSUtils.AField(53, "System.Int32[]", "区域边界框.......1个region由(6, 4, 6)个box组成", "", "_regionBounds", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data"),
		"55" : new CSUtils.AField(55, "System.Int32[]", "陆地板块边界框.......1个mainland由(6, 4, 6)个region组成", "", "_mainlandBounds", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_InfiniteMap_Data"),
	},
}

//--------10_08_010_008----
//----MainlandData--
CComposite.Part.Map_Mainland_Data = function(){}
CComposite.Part.Map_Mainland_Data.prototype = {
	get m_className() {return "Map_Mainland_Data";},
	get m_typeId() {return "10_08_010_008";},
	get m_typeTag() {return "MainlandData";},
	get m_fieldArr() {return CComposite.Part.Map_Mainland_Data_dic.m_fieldArr;},
	_instanceId : 0,

	_landId: {},//Int32[]----开始板块坐标----
	o_mapData: {},//Int32[][]----地貌数据----
	o_mapName: "",//String----地图名称----
	o_author: "",//String----作者----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 12:
				return _landId;
			case 22:
				return o_mapData;
			case 29:
				return o_mapName;
			case 31:
				return o_author;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 12:
				_landId = obj;
				break;
			case 22:
				o_mapData = obj;
				break;
			case 29:
				o_mapName = obj;
				break;
			case 31:
				o_author = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_landId != null && _landId.Length > 0) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteArray(_landId, EBaseType.e006_int);//����
		}
		if (o_mapData != null && o_mapData.Length > 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_mapData, EBaseType.e006_int);//����
		}
		if (string.IsNullOrEmpty(o_mapName) == false) {
			binaryWriter.Write(29);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_mapName, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_author) == false) {
			binaryWriter.Write(31);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_author, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 12:
					_landId = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 22:
					o_mapData = binaryReader.S_ReadByteArrayArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 29:
				o_mapName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 31:
				o_author = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.InfiniteAdaptMap.Map_Mainland_Data.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &12=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._landId, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &22=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_mapData, EBaseType.e019_arrayArray, EBaseType.e006_int);
		str = str + "  &29=" + this.o_mapName;//--地图名称
		str = str + "  &31=" + this.o_author;//--作者
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 12:
						this._landId = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 22:
						this.o_mapData = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 29:
						this.o_mapName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 31:
						this.o_author = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.Map_Mainland_Data_dic = { 
	"m_fieldArr" : {
		"12" : new CSUtils.AField(12, "System.Int32[]", "开始板块坐标", "", "_landId", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Mainland_Data"),
		"22" : new CSUtils.AField(22, "System.Int32[][]", "地貌数据", "", "o_mapData", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Mainland_Data"),
		"29" : new CSUtils.AField(29, "System.String", "地图名称", "", "o_mapName", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Mainland_Data"),
		"31" : new CSUtils.AField(31, "System.String", "作者", "", "o_author", 3, "0", "100", null, 0, "U3dGame.InfiniteAdaptMap.Map_Mainland_Data"),
	},
}

//--------10_08_001_001----
//----普通攻击--
CComposite.Part.SkillCfg_001_OrdinaryAttack = function(){}
CComposite.Part.SkillCfg_001_OrdinaryAttack.prototype = {
	get m_className() {return "SkillCfg_001_OrdinaryAttack";},
	get m_typeId() {return "10_08_001_001";},
	get m_typeTag() {return "普通攻击";},
	get m_fieldArr() {return CComposite.Part.SkillCfg_001_OrdinaryAttack_dic.m_fieldArr;},
	_instanceId : 0,

	o_aimIconType: 0,//EAimIconType----瞄准图标类型----(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)
	o_aimFailLimitAngle: 0,//Single----瞄准失败极限角度----
	o_hurtIntervalTime: 0,//Single----伤害间隔时间----
	o_directivityType: 0,//EDirectivityType----指向性类型----(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n
	o_startEffect_endTime: 0,//Single----开始特效结束时间----
	o_newSkillIsCreateNewObj: false,
	o_bulletE_attackDistance: 0,//Single----子弹_攻击距离----
	o_bulletE_startTime: 0,//Single----子弹_开始时间----
	o_bulletE_endTime: 0,//Single----子弹_结束时间/n----
	o_bulletE_toEndPointNoColliderIsBlast: false,
	o_blast_startTime: 0,//Single----爆炸_开始时间----
	o_blast_endTime: 0,//Single----爆炸_结束时间----
	o_blastE_hurtCheckRadius: 0,//Single----爆炸_伤害检查半径----
	o_physicsHurtPercentage: 0,//Single----物理伤害百分比----
	o_spellsHurtPercentage: 0,//Single----法术伤害百分比----
	_specialPropertys: {},//Single[][]----数值属性----1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间
	_specialProperteee: {},//Single[][]----dddd----
	o_SortIndex: 0,//Byte----商店排序----
	o_IsFreeAdmission: false,
	o_Price: 0,//Int32----价格----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 42:
				return o_aimIconType;
			case 43:
				return o_aimFailLimitAngle;
			case 44:
				return o_hurtIntervalTime;
			case 45:
				return o_directivityType;
			case 49:
				return o_startEffect_endTime;
			case 50:
				return o_newSkillIsCreateNewObj;
			case 55:
				return o_bulletE_attackDistance;
			case 56:
				return o_bulletE_startTime;
			case 57:
				return o_bulletE_endTime;
			case 58:
				return o_bulletE_toEndPointNoColliderIsBlast;
			case 60:
				return o_blast_startTime;
			case 62:
				return o_blast_endTime;
			case 63:
				return o_blastE_hurtCheckRadius;
			case 211:
				return o_physicsHurtPercentage;
			case 212:
				return o_spellsHurtPercentage;
			case 223:
				return _specialPropertys;
			case 224:
				return _specialProperteee;
			case 230:
				return o_SortIndex;
			case 231:
				return o_IsFreeAdmission;
			case 232:
				return o_Price;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 42:
				o_aimIconType = obj;
				break;
			case 43:
				o_aimFailLimitAngle = obj;
				break;
			case 44:
				o_hurtIntervalTime = obj;
				break;
			case 45:
				o_directivityType = obj;
				break;
			case 49:
				o_startEffect_endTime = obj;
				break;
			case 50:
				o_newSkillIsCreateNewObj = obj;
				break;
			case 55:
				o_bulletE_attackDistance = obj;
				break;
			case 56:
				o_bulletE_startTime = obj;
				break;
			case 57:
				o_bulletE_endTime = obj;
				break;
			case 58:
				o_bulletE_toEndPointNoColliderIsBlast = obj;
				break;
			case 60:
				o_blast_startTime = obj;
				break;
			case 62:
				o_blast_endTime = obj;
				break;
			case 63:
				o_blastE_hurtCheckRadius = obj;
				break;
			case 211:
				o_physicsHurtPercentage = obj;
				break;
			case 212:
				o_spellsHurtPercentage = obj;
				break;
			case 223:
				_specialPropertys = obj;
				break;
			case 224:
				_specialProperteee = obj;
				break;
			case 230:
				o_SortIndex = obj;
				break;
			case 231:
				o_IsFreeAdmission = obj;
				break;
			case 232:
				o_Price = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_aimIconType != 0) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(o_aimIconType);//ֵ
		}
		if (o_aimFailLimitAngle != 0) {
			binaryWriter.Write(43);//�ֶ�����
			binaryWriter.Write(o_aimFailLimitAngle);//ֵ
		}
		if (o_hurtIntervalTime != 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.Write(o_hurtIntervalTime);//ֵ
		}
		if (o_directivityType != 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.Write(o_directivityType);//ֵ
		}
		if (o_startEffect_endTime != 0) {
			binaryWriter.Write(49);//�ֶ�����
			binaryWriter.Write(o_startEffect_endTime);//ֵ
		}
		if (o_newSkillIsCreateNewObj != false) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(o_newSkillIsCreateNewObj);//ֵ
		}
		if (o_bulletE_attackDistance != 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.Write(o_bulletE_attackDistance);//ֵ
		}
		if (o_bulletE_startTime != 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.Write(o_bulletE_startTime);//ֵ
		}
		if (o_bulletE_endTime != 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.Write(o_bulletE_endTime);//ֵ
		}
		if (o_bulletE_toEndPointNoColliderIsBlast != false) {
			binaryWriter.Write(58);//�ֶ�����
			binaryWriter.Write(o_bulletE_toEndPointNoColliderIsBlast);//ֵ
		}
		if (o_blast_startTime != 0) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.Write(o_blast_startTime);//ֵ
		}
		if (o_blast_endTime != 0) {
			binaryWriter.Write(62);//�ֶ�����
			binaryWriter.Write(o_blast_endTime);//ֵ
		}
		if (o_blastE_hurtCheckRadius != 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.Write(o_blastE_hurtCheckRadius);//ֵ
		}
		if (o_physicsHurtPercentage != 0) {
			binaryWriter.Write(211);//�ֶ�����
			binaryWriter.Write(o_physicsHurtPercentage);//ֵ
		}
		if (o_spellsHurtPercentage != 0) {
			binaryWriter.Write(212);//�ֶ�����
			binaryWriter.Write(o_spellsHurtPercentage);//ֵ
		}
		if (_specialPropertys != null && _specialPropertys.Length > 0) {
			binaryWriter.Write(223);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialPropertys, EBaseType.e008_float);//����
		}
		if (_specialProperteee != null && _specialProperteee.Length > 0) {
			binaryWriter.Write(224);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialProperteee, EBaseType.e008_float);//����
		}
		if (o_SortIndex != 0) {
			binaryWriter.Write(230);//�ֶ�����
			binaryWriter.Write(o_SortIndex);//ֵ
		}
		if (o_IsFreeAdmission != false) {
			binaryWriter.Write(231);//�ֶ�����
			binaryWriter.Write(o_IsFreeAdmission);//ֵ
		}
		if (o_Price != 0) {
			binaryWriter.Write(232);//�ֶ�����
			binaryWriter.Write(o_Price);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 42:
					o_aimIconType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EAimIconType
					break;
				case 43:
				o_aimFailLimitAngle = binaryReader.ReadSingle();
					break;
				case 44:
				o_hurtIntervalTime = binaryReader.ReadSingle();
					break;
				case 45:
					o_directivityType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EDirectivityType
					break;
				case 49:
				o_startEffect_endTime = binaryReader.ReadSingle();
					break;
				case 50:
					o_newSkillIsCreateNewObj = binaryReader.ReadBoolean();
					break;
				case 55:
				o_bulletE_attackDistance = binaryReader.ReadSingle();
					break;
				case 56:
				o_bulletE_startTime = binaryReader.ReadSingle();
					break;
				case 57:
				o_bulletE_endTime = binaryReader.ReadSingle();
					break;
				case 58:
					o_bulletE_toEndPointNoColliderIsBlast = binaryReader.ReadBoolean();
					break;
				case 60:
				o_blast_startTime = binaryReader.ReadSingle();
					break;
				case 62:
				o_blast_endTime = binaryReader.ReadSingle();
					break;
				case 63:
				o_blastE_hurtCheckRadius = binaryReader.ReadSingle();
					break;
				case 211:
				o_physicsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 212:
				o_spellsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 223:
					_specialPropertys = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 224:
					_specialProperteee = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 230:
				o_SortIndex = binaryReader.ReadByte();
					break;
				case 231:
					o_IsFreeAdmission = binaryReader.ReadBoolean();
					break;
				case 232:
					o_Price = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.SkillEffect.SkillCfg_001_OrdinaryAttack.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &42=" + this.o_aimIconType;//--瞄准图标类型
		str = str + "  &43=" + this.o_aimFailLimitAngle;//--瞄准失败极限角度
		str = str + "  &44=" + this.o_hurtIntervalTime;//--伤害间隔时间
		str = str + "  &45=" + this.o_directivityType;//--指向性类型
		str = str + "  &49=" + this.o_startEffect_endTime;//--开始特效结束时间
		str = str + "  &50=" + this.o_newSkillIsCreateNewObj;//--新技能是否创建新对象(创建的新对象使用对象池控制)/n
		str = str + "  &55=" + this.o_bulletE_attackDistance;//--子弹_攻击距离
		str = str + "  &56=" + this.o_bulletE_startTime;//--子弹_开始时间
		str = str + "  &57=" + this.o_bulletE_endTime;//--子弹_结束时间/n
		str = str + "  &58=" + this.o_bulletE_toEndPointNoColliderIsBlast;//--子弹_发射到结束点没有碰撞是否爆炸
		str = str + "  &60=" + this.o_blast_startTime;//--爆炸_开始时间
		str = str + "  &62=" + this.o_blast_endTime;//--爆炸_结束时间
		str = str + "  &63=" + this.o_blastE_hurtCheckRadius;//--爆炸_伤害检查半径
		str = str + "  &211=" + this.o_physicsHurtPercentage;//--物理伤害百分比
		str = str + "  &212=" + this.o_spellsHurtPercentage;//--法术伤害百分比
		str = str + "  &223=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialPropertys, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &224=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialProperteee, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &230=" + this.o_SortIndex;//--商店排序
		str = str + "  &231=" + this.o_IsFreeAdmission;//--是否周免
		str = str + "  &232=" + this.o_Price;//--价格
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 42:
						this.o_aimIconType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EAimIconType
						break;
					case 43:
						this.o_aimFailLimitAngle = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 44:
						this.o_hurtIntervalTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 45:
						this.o_directivityType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EDirectivityType
						break;
					case 49:
						this.o_startEffect_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 50:
						this.o_newSkillIsCreateNewObj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 55:
						this.o_bulletE_attackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 56:
						this.o_bulletE_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 57:
						this.o_bulletE_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 58:
						this.o_bulletE_toEndPointNoColliderIsBlast = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 60:
						this.o_blast_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 62:
						this.o_blast_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 63:
						this.o_blastE_hurtCheckRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 211:
						this.o_physicsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 212:
						this.o_spellsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 223:
						this._specialPropertys = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 224:
						this._specialProperteee = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 230:
						this.o_SortIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 231:
						this.o_IsFreeAdmission = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 232:
						this.o_Price = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.SkillCfg_001_OrdinaryAttack_dic = { 
	"m_fieldArr" : {
		"42" : new CSUtils.AField(42, "U3dGame.Part.SkillEffect.EAimIconType", "瞄准图标类型", "(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)", "o_aimIconType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"43" : new CSUtils.AField(43, "System.Single", "瞄准失败极限角度", "", "o_aimFailLimitAngle", 3, "10", "80", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"44" : new CSUtils.AField(44, "System.Single", "伤害间隔时间", "", "o_hurtIntervalTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"45" : new CSUtils.AField(45, "U3dGame.Part.SkillEffect.EDirectivityType", "指向性类型", "(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n", "o_directivityType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"49" : new CSUtils.AField(49, "System.Single", "开始特效结束时间", "", "o_startEffect_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"50" : new CSUtils.AField(50, "System.Boolean", "新技能是否创建新对象(创建的新对象使用对象池控制)/n", "", "o_newSkillIsCreateNewObj", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"55" : new CSUtils.AField(55, "System.Single", "子弹_攻击距离", "", "o_bulletE_attackDistance", 3, "0.1", "300", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"56" : new CSUtils.AField(56, "System.Single", "子弹_开始时间", "", "o_bulletE_startTime", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"57" : new CSUtils.AField(57, "System.Single", "子弹_结束时间/n", "", "o_bulletE_endTime", 3, "1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"58" : new CSUtils.AField(58, "System.Boolean", "子弹_发射到结束点没有碰撞是否爆炸", "", "o_bulletE_toEndPointNoColliderIsBlast", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"60" : new CSUtils.AField(60, "System.Single", "爆炸_开始时间", "", "o_blast_startTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"62" : new CSUtils.AField(62, "System.Single", "爆炸_结束时间", "", "o_blast_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"63" : new CSUtils.AField(63, "System.Single", "爆炸_伤害检查半径", "", "o_blastE_hurtCheckRadius", 3, "1", "20", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"223" : new CSUtils.AField(223, "System.Single[][]", "数值属性", "1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间", "_specialPropertys", 3, "0", "100", "U3dGame.M_SkillBuffProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"224" : new CSUtils.AField(224, "System.Single[][]", "dddd", "", "_specialProperteee", 3, "0", "100", "U3dGame.M_EternalProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"211" : new CSUtils.AField(211, "System.Single", "物理伤害百分比", "", "o_physicsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"212" : new CSUtils.AField(212, "System.Single", "法术伤害百分比", "", "o_spellsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"230" : new CSUtils.AField(230, "System.Byte", "商店排序", "", "o_SortIndex", 3, "0", "255", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"231" : new CSUtils.AField(231, "System.Boolean", "是否周免", "", "o_IsFreeAdmission", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"232" : new CSUtils.AField(232, "System.Int32", "价格", "", "o_Price", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
	},
}

//--------10_08_001_002----
//----炮弹发射--
CComposite.Part.SkillCfg_002_ShellLaunch = function(){}
CComposite.Part.SkillCfg_002_ShellLaunch.prototype = {
	get m_className() {return "SkillCfg_002_ShellLaunch";},
	get m_typeId() {return "10_08_001_002";},
	get m_typeTag() {return "炮弹发射";},
	get m_fieldArr() {return CComposite.Part.SkillCfg_002_ShellLaunch_dic.m_fieldArr;},
	_instanceId : 0,

	o_aimIconType: 0,//EAimIconType----瞄准图标类型----(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)
	o_aimFailLimitAngle: 0,//Single----瞄准失败极限角度----
	o_hurtIntervalTime: 0,//Single----伤害间隔时间----
	o_directivityType: 0,//EDirectivityType----指向性类型----(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n
	o_startEffect_endTime: 0,//Single----开始特效结束时间----
	o_newSkillIsCreateNewObj: false,
	o_bulletE_attackDistance: 0,//Single----子弹_攻击距离----
	o_bulletE_startTime: 0,//Single----子弹_开始时间----
	o_bulletE_endTime: 0,//Single----子弹_结束时间/n----
	o_bulletE_toEndPointNoColliderIsBlast: false,
	o_blast_startTime: 0,//Single----爆炸_开始时间----
	o_blast_endTime: 0,//Single----爆炸_结束时间----
	o_blastE_hurtCheckRadius: 0,//Single----爆炸_伤害检查半径----
	o_Launch_MoveSpeed: 0,//Int32----发射_移动速度----
	o_Launch_heightRatio: 0,//Single----发射_弹道高度比----
	o_Launch_ReturnSpeed: 0,//Int32----发射_返回速度----
	o_Launch_ReturnWaitingTime: 0,//Int32----发射_返回前停留时间----
	oLaunchSkillMoveObjType: 0,//ESkillMoveType----发射_位移雇主类型,(e01_null,e02_moveObj)----
	o_Launch_CollisionIsDeath: false,
	o_Launch_CollisionBlastType: 0,//Int32----发射_碰撞爆炸类型----
	o_collisionStrikeDistance: {},//Single[]----碰撞,0=击飞距离,1=击飞速度,2=击飞高度比----
	o_Blast_MotionType: 0,//Int32----爆炸_跟踪类型----
	o_Blast_MoveEnemyType: 0,//Int32----爆炸_位移敌人类型----
	o_Blast_DecelerationEnemyValue: 0,//Int32----爆炸_减速敌人特性----
	o_physicsHurtPercentage: 0,//Single----物理伤害百分比----
	o_spellsHurtPercentage: 0,//Single----法术伤害百分比----
	_specialPropertys: {},//Single[][]----数值属性----1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间
	_specialProperteee: {},//Single[][]----dddd----
	o_SortIndex: 0,//Byte----商店排序----
	o_IsFreeAdmission: false,
	o_Price: 0,//Int32----价格----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 42:
				return o_aimIconType;
			case 43:
				return o_aimFailLimitAngle;
			case 44:
				return o_hurtIntervalTime;
			case 45:
				return o_directivityType;
			case 49:
				return o_startEffect_endTime;
			case 50:
				return o_newSkillIsCreateNewObj;
			case 55:
				return o_bulletE_attackDistance;
			case 56:
				return o_bulletE_startTime;
			case 57:
				return o_bulletE_endTime;
			case 58:
				return o_bulletE_toEndPointNoColliderIsBlast;
			case 60:
				return o_blast_startTime;
			case 62:
				return o_blast_endTime;
			case 63:
				return o_blastE_hurtCheckRadius;
			case 105:
				return o_Launch_MoveSpeed;
			case 107:
				return o_Launch_heightRatio;
			case 109:
				return o_Launch_ReturnSpeed;
			case 110:
				return o_Launch_ReturnWaitingTime;
			case 111:
				return oLaunchSkillMoveObjType;
			case 113:
				return o_Launch_CollisionIsDeath;
			case 115:
				return o_Launch_CollisionBlastType;
			case 118:
				return o_collisionStrikeDistance;
			case 125:
				return o_Blast_MotionType;
			case 127:
				return o_Blast_MoveEnemyType;
			case 129:
				return o_Blast_DecelerationEnemyValue;
			case 211:
				return o_physicsHurtPercentage;
			case 212:
				return o_spellsHurtPercentage;
			case 223:
				return _specialPropertys;
			case 224:
				return _specialProperteee;
			case 230:
				return o_SortIndex;
			case 231:
				return o_IsFreeAdmission;
			case 232:
				return o_Price;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 42:
				o_aimIconType = obj;
				break;
			case 43:
				o_aimFailLimitAngle = obj;
				break;
			case 44:
				o_hurtIntervalTime = obj;
				break;
			case 45:
				o_directivityType = obj;
				break;
			case 49:
				o_startEffect_endTime = obj;
				break;
			case 50:
				o_newSkillIsCreateNewObj = obj;
				break;
			case 55:
				o_bulletE_attackDistance = obj;
				break;
			case 56:
				o_bulletE_startTime = obj;
				break;
			case 57:
				o_bulletE_endTime = obj;
				break;
			case 58:
				o_bulletE_toEndPointNoColliderIsBlast = obj;
				break;
			case 60:
				o_blast_startTime = obj;
				break;
			case 62:
				o_blast_endTime = obj;
				break;
			case 63:
				o_blastE_hurtCheckRadius = obj;
				break;
			case 105:
				o_Launch_MoveSpeed = obj;
				break;
			case 107:
				o_Launch_heightRatio = obj;
				break;
			case 109:
				o_Launch_ReturnSpeed = obj;
				break;
			case 110:
				o_Launch_ReturnWaitingTime = obj;
				break;
			case 111:
				oLaunchSkillMoveObjType = obj;
				break;
			case 113:
				o_Launch_CollisionIsDeath = obj;
				break;
			case 115:
				o_Launch_CollisionBlastType = obj;
				break;
			case 118:
				o_collisionStrikeDistance = obj;
				break;
			case 125:
				o_Blast_MotionType = obj;
				break;
			case 127:
				o_Blast_MoveEnemyType = obj;
				break;
			case 129:
				o_Blast_DecelerationEnemyValue = obj;
				break;
			case 211:
				o_physicsHurtPercentage = obj;
				break;
			case 212:
				o_spellsHurtPercentage = obj;
				break;
			case 223:
				_specialPropertys = obj;
				break;
			case 224:
				_specialProperteee = obj;
				break;
			case 230:
				o_SortIndex = obj;
				break;
			case 231:
				o_IsFreeAdmission = obj;
				break;
			case 232:
				o_Price = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_aimIconType != 0) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(o_aimIconType);//ֵ
		}
		if (o_aimFailLimitAngle != 0) {
			binaryWriter.Write(43);//�ֶ�����
			binaryWriter.Write(o_aimFailLimitAngle);//ֵ
		}
		if (o_hurtIntervalTime != 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.Write(o_hurtIntervalTime);//ֵ
		}
		if (o_directivityType != 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.Write(o_directivityType);//ֵ
		}
		if (o_startEffect_endTime != 0) {
			binaryWriter.Write(49);//�ֶ�����
			binaryWriter.Write(o_startEffect_endTime);//ֵ
		}
		if (o_newSkillIsCreateNewObj != false) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(o_newSkillIsCreateNewObj);//ֵ
		}
		if (o_bulletE_attackDistance != 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.Write(o_bulletE_attackDistance);//ֵ
		}
		if (o_bulletE_startTime != 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.Write(o_bulletE_startTime);//ֵ
		}
		if (o_bulletE_endTime != 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.Write(o_bulletE_endTime);//ֵ
		}
		if (o_bulletE_toEndPointNoColliderIsBlast != false) {
			binaryWriter.Write(58);//�ֶ�����
			binaryWriter.Write(o_bulletE_toEndPointNoColliderIsBlast);//ֵ
		}
		if (o_blast_startTime != 0) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.Write(o_blast_startTime);//ֵ
		}
		if (o_blast_endTime != 0) {
			binaryWriter.Write(62);//�ֶ�����
			binaryWriter.Write(o_blast_endTime);//ֵ
		}
		if (o_blastE_hurtCheckRadius != 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.Write(o_blastE_hurtCheckRadius);//ֵ
		}
		if (o_Launch_MoveSpeed != 0) {
			binaryWriter.Write(105);//�ֶ�����
			binaryWriter.Write(o_Launch_MoveSpeed);//ֵ
		}
		if (o_Launch_heightRatio != 0) {
			binaryWriter.Write(107);//�ֶ�����
			binaryWriter.Write(o_Launch_heightRatio);//ֵ
		}
		if (o_Launch_ReturnSpeed != 0) {
			binaryWriter.Write(109);//�ֶ�����
			binaryWriter.Write(o_Launch_ReturnSpeed);//ֵ
		}
		if (o_Launch_ReturnWaitingTime != 0) {
			binaryWriter.Write(110);//�ֶ�����
			binaryWriter.Write(o_Launch_ReturnWaitingTime);//ֵ
		}
		if (oLaunchSkillMoveObjType != 0) {
			binaryWriter.Write(111);//�ֶ�����
			binaryWriter.Write(oLaunchSkillMoveObjType);//ֵ
		}
		if (o_Launch_CollisionIsDeath != false) {
			binaryWriter.Write(113);//�ֶ�����
			binaryWriter.Write(o_Launch_CollisionIsDeath);//ֵ
		}
		if (o_Launch_CollisionBlastType != 0) {
			binaryWriter.Write(115);//�ֶ�����
			binaryWriter.Write(o_Launch_CollisionBlastType);//ֵ
		}
		if (o_collisionStrikeDistance != null && o_collisionStrikeDistance.Length > 0) {
			binaryWriter.Write(118);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_collisionStrikeDistance, EBaseType.e008_float);//����
		}
		if (o_Blast_MotionType != 0) {
			binaryWriter.Write(125);//�ֶ�����
			binaryWriter.Write(o_Blast_MotionType);//ֵ
		}
		if (o_Blast_MoveEnemyType != 0) {
			binaryWriter.Write(127);//�ֶ�����
			binaryWriter.Write(o_Blast_MoveEnemyType);//ֵ
		}
		if (o_Blast_DecelerationEnemyValue != 0) {
			binaryWriter.Write(129);//�ֶ�����
			binaryWriter.Write(o_Blast_DecelerationEnemyValue);//ֵ
		}
		if (o_physicsHurtPercentage != 0) {
			binaryWriter.Write(211);//�ֶ�����
			binaryWriter.Write(o_physicsHurtPercentage);//ֵ
		}
		if (o_spellsHurtPercentage != 0) {
			binaryWriter.Write(212);//�ֶ�����
			binaryWriter.Write(o_spellsHurtPercentage);//ֵ
		}
		if (_specialPropertys != null && _specialPropertys.Length > 0) {
			binaryWriter.Write(223);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialPropertys, EBaseType.e008_float);//����
		}
		if (_specialProperteee != null && _specialProperteee.Length > 0) {
			binaryWriter.Write(224);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialProperteee, EBaseType.e008_float);//����
		}
		if (o_SortIndex != 0) {
			binaryWriter.Write(230);//�ֶ�����
			binaryWriter.Write(o_SortIndex);//ֵ
		}
		if (o_IsFreeAdmission != false) {
			binaryWriter.Write(231);//�ֶ�����
			binaryWriter.Write(o_IsFreeAdmission);//ֵ
		}
		if (o_Price != 0) {
			binaryWriter.Write(232);//�ֶ�����
			binaryWriter.Write(o_Price);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 42:
					o_aimIconType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EAimIconType
					break;
				case 43:
				o_aimFailLimitAngle = binaryReader.ReadSingle();
					break;
				case 44:
				o_hurtIntervalTime = binaryReader.ReadSingle();
					break;
				case 45:
					o_directivityType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EDirectivityType
					break;
				case 49:
				o_startEffect_endTime = binaryReader.ReadSingle();
					break;
				case 50:
					o_newSkillIsCreateNewObj = binaryReader.ReadBoolean();
					break;
				case 55:
				o_bulletE_attackDistance = binaryReader.ReadSingle();
					break;
				case 56:
				o_bulletE_startTime = binaryReader.ReadSingle();
					break;
				case 57:
				o_bulletE_endTime = binaryReader.ReadSingle();
					break;
				case 58:
					o_bulletE_toEndPointNoColliderIsBlast = binaryReader.ReadBoolean();
					break;
				case 60:
				o_blast_startTime = binaryReader.ReadSingle();
					break;
				case 62:
				o_blast_endTime = binaryReader.ReadSingle();
					break;
				case 63:
				o_blastE_hurtCheckRadius = binaryReader.ReadSingle();
					break;
				case 105:
					o_Launch_MoveSpeed = binaryReader.ReadInt32();
					break;
				case 107:
				o_Launch_heightRatio = binaryReader.ReadSingle();
					break;
				case 109:
					o_Launch_ReturnSpeed = binaryReader.ReadInt32();
					break;
				case 110:
					o_Launch_ReturnWaitingTime = binaryReader.ReadInt32();
					break;
				case 111:
					oLaunchSkillMoveObjType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.ESkillMoveType
					break;
				case 113:
					o_Launch_CollisionIsDeath = binaryReader.ReadBoolean();
					break;
				case 115:
					o_Launch_CollisionBlastType = binaryReader.ReadInt32();
					break;
				case 118:
					o_collisionStrikeDistance = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 125:
					o_Blast_MotionType = binaryReader.ReadInt32();
					break;
				case 127:
					o_Blast_MoveEnemyType = binaryReader.ReadInt32();
					break;
				case 129:
					o_Blast_DecelerationEnemyValue = binaryReader.ReadInt32();
					break;
				case 211:
				o_physicsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 212:
				o_spellsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 223:
					_specialPropertys = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 224:
					_specialProperteee = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 230:
				o_SortIndex = binaryReader.ReadByte();
					break;
				case 231:
					o_IsFreeAdmission = binaryReader.ReadBoolean();
					break;
				case 232:
					o_Price = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &42=" + this.o_aimIconType;//--瞄准图标类型
		str = str + "  &43=" + this.o_aimFailLimitAngle;//--瞄准失败极限角度
		str = str + "  &44=" + this.o_hurtIntervalTime;//--伤害间隔时间
		str = str + "  &45=" + this.o_directivityType;//--指向性类型
		str = str + "  &49=" + this.o_startEffect_endTime;//--开始特效结束时间
		str = str + "  &50=" + this.o_newSkillIsCreateNewObj;//--新技能是否创建新对象(创建的新对象使用对象池控制)/n
		str = str + "  &55=" + this.o_bulletE_attackDistance;//--子弹_攻击距离
		str = str + "  &56=" + this.o_bulletE_startTime;//--子弹_开始时间
		str = str + "  &57=" + this.o_bulletE_endTime;//--子弹_结束时间/n
		str = str + "  &58=" + this.o_bulletE_toEndPointNoColliderIsBlast;//--子弹_发射到结束点没有碰撞是否爆炸
		str = str + "  &60=" + this.o_blast_startTime;//--爆炸_开始时间
		str = str + "  &62=" + this.o_blast_endTime;//--爆炸_结束时间
		str = str + "  &63=" + this.o_blastE_hurtCheckRadius;//--爆炸_伤害检查半径
		str = str + "  &105=" + this.o_Launch_MoveSpeed;//--发射_移动速度
		str = str + "  &107=" + this.o_Launch_heightRatio;//--发射_弹道高度比
		str = str + "  &109=" + this.o_Launch_ReturnSpeed;//--发射_返回速度
		str = str + "  &110=" + this.o_Launch_ReturnWaitingTime;//--发射_返回前停留时间
		str = str + "  &111=" + this.oLaunchSkillMoveObjType;//--发射_位移雇主类型,(e01_null,e02_moveObj)
		str = str + "  &113=" + this.o_Launch_CollisionIsDeath;//--发射_碰撞是否死亡
		str = str + "  &115=" + this.o_Launch_CollisionBlastType;//--发射_碰撞爆炸类型
		str = str + "  &118=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_collisionStrikeDistance, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &125=" + this.o_Blast_MotionType;//--爆炸_跟踪类型
		str = str + "  &127=" + this.o_Blast_MoveEnemyType;//--爆炸_位移敌人类型
		str = str + "  &129=" + this.o_Blast_DecelerationEnemyValue;//--爆炸_减速敌人特性
		str = str + "  &211=" + this.o_physicsHurtPercentage;//--物理伤害百分比
		str = str + "  &212=" + this.o_spellsHurtPercentage;//--法术伤害百分比
		str = str + "  &223=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialPropertys, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &224=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialProperteee, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &230=" + this.o_SortIndex;//--商店排序
		str = str + "  &231=" + this.o_IsFreeAdmission;//--是否周免
		str = str + "  &232=" + this.o_Price;//--价格
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 42:
						this.o_aimIconType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EAimIconType
						break;
					case 43:
						this.o_aimFailLimitAngle = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 44:
						this.o_hurtIntervalTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 45:
						this.o_directivityType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EDirectivityType
						break;
					case 49:
						this.o_startEffect_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 50:
						this.o_newSkillIsCreateNewObj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 55:
						this.o_bulletE_attackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 56:
						this.o_bulletE_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 57:
						this.o_bulletE_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 58:
						this.o_bulletE_toEndPointNoColliderIsBlast = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 60:
						this.o_blast_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 62:
						this.o_blast_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 63:
						this.o_blastE_hurtCheckRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 105:
						this.o_Launch_MoveSpeed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 107:
						this.o_Launch_heightRatio = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 109:
						this.o_Launch_ReturnSpeed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 110:
						this.o_Launch_ReturnWaitingTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 111:
						this.oLaunchSkillMoveObjType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.ESkillMoveType
						break;
					case 113:
						this.o_Launch_CollisionIsDeath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 115:
						this.o_Launch_CollisionBlastType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 118:
						this.o_collisionStrikeDistance = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 125:
						this.o_Blast_MotionType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 127:
						this.o_Blast_MoveEnemyType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 129:
						this.o_Blast_DecelerationEnemyValue = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 211:
						this.o_physicsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 212:
						this.o_spellsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 223:
						this._specialPropertys = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 224:
						this._specialProperteee = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 230:
						this.o_SortIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 231:
						this.o_IsFreeAdmission = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 232:
						this.o_Price = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.SkillCfg_002_ShellLaunch_dic = { 
	"m_fieldArr" : {
		"42" : new CSUtils.AField(42, "U3dGame.Part.SkillEffect.EAimIconType", "瞄准图标类型", "(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)", "o_aimIconType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"43" : new CSUtils.AField(43, "System.Single", "瞄准失败极限角度", "", "o_aimFailLimitAngle", 3, "10", "80", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"44" : new CSUtils.AField(44, "System.Single", "伤害间隔时间", "", "o_hurtIntervalTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"45" : new CSUtils.AField(45, "U3dGame.Part.SkillEffect.EDirectivityType", "指向性类型", "(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n", "o_directivityType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"49" : new CSUtils.AField(49, "System.Single", "开始特效结束时间", "", "o_startEffect_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"50" : new CSUtils.AField(50, "System.Boolean", "新技能是否创建新对象(创建的新对象使用对象池控制)/n", "", "o_newSkillIsCreateNewObj", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"55" : new CSUtils.AField(55, "System.Single", "子弹_攻击距离", "", "o_bulletE_attackDistance", 3, "0.1", "300", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"56" : new CSUtils.AField(56, "System.Single", "子弹_开始时间", "", "o_bulletE_startTime", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"57" : new CSUtils.AField(57, "System.Single", "子弹_结束时间/n", "", "o_bulletE_endTime", 3, "1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"58" : new CSUtils.AField(58, "System.Boolean", "子弹_发射到结束点没有碰撞是否爆炸", "", "o_bulletE_toEndPointNoColliderIsBlast", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"60" : new CSUtils.AField(60, "System.Single", "爆炸_开始时间", "", "o_blast_startTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"62" : new CSUtils.AField(62, "System.Single", "爆炸_结束时间", "", "o_blast_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"63" : new CSUtils.AField(63, "System.Single", "爆炸_伤害检查半径", "", "o_blastE_hurtCheckRadius", 3, "1", "20", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"105" : new CSUtils.AField(105, "System.Int32", "发射_移动速度", "", "o_Launch_MoveSpeed", 3, "1", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"107" : new CSUtils.AField(107, "System.Single", "发射_弹道高度比", "", "o_Launch_heightRatio", 3, "0", "0.5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"109" : new CSUtils.AField(109, "System.Int32", "发射_返回速度", "", "o_Launch_ReturnSpeed", 3, "1", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"110" : new CSUtils.AField(110, "System.Int32", "发射_返回前停留时间", "", "o_Launch_ReturnWaitingTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"111" : new CSUtils.AField(111, "U3dGame.Part.SkillEffect.ESkillMoveType", "发射_位移雇主类型,(e01_null,e02_moveObj)", "", "oLaunchSkillMoveObjType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"113" : new CSUtils.AField(113, "System.Boolean", "发射_碰撞是否死亡", "", "o_Launch_CollisionIsDeath", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"115" : new CSUtils.AField(115, "System.Int32", "发射_碰撞爆炸类型", "", "o_Launch_CollisionBlastType", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"118" : new CSUtils.AField(118, "System.Single[]", "碰撞,0=击飞距离,1=击飞速度,2=击飞高度比", "", "o_collisionStrikeDistance", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"125" : new CSUtils.AField(125, "System.Int32", "爆炸_跟踪类型", "", "o_Blast_MotionType", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"127" : new CSUtils.AField(127, "System.Int32", "爆炸_位移敌人类型", "", "o_Blast_MoveEnemyType", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"129" : new CSUtils.AField(129, "System.Int32", "爆炸_减速敌人特性", "", "o_Blast_DecelerationEnemyValue", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_002_ShellLaunch"),
		"223" : new CSUtils.AField(223, "System.Single[][]", "数值属性", "1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间", "_specialPropertys", 3, "0", "100", "U3dGame.M_SkillBuffProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"224" : new CSUtils.AField(224, "System.Single[][]", "dddd", "", "_specialProperteee", 3, "0", "100", "U3dGame.M_EternalProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"211" : new CSUtils.AField(211, "System.Single", "物理伤害百分比", "", "o_physicsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"212" : new CSUtils.AField(212, "System.Single", "法术伤害百分比", "", "o_spellsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"230" : new CSUtils.AField(230, "System.Byte", "商店排序", "", "o_SortIndex", 3, "0", "255", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"231" : new CSUtils.AField(231, "System.Boolean", "是否周免", "", "o_IsFreeAdmission", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"232" : new CSUtils.AField(232, "System.Int32", "价格", "", "o_Price", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
	},
}

//--------10_08_001_003----
//----光束--
CComposite.Part.SkillCfg_003_LightBeam = function(){}
CComposite.Part.SkillCfg_003_LightBeam.prototype = {
	get m_className() {return "SkillCfg_003_LightBeam";},
	get m_typeId() {return "10_08_001_003";},
	get m_typeTag() {return "光束";},
	get m_fieldArr() {return CComposite.Part.SkillCfg_003_LightBeam_dic.m_fieldArr;},
	_instanceId : 0,

	o_aimIconType: 0,//EAimIconType----瞄准图标类型----(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)
	o_aimFailLimitAngle: 0,//Single----瞄准失败极限角度----
	o_hurtIntervalTime: 0,//Single----伤害间隔时间----
	o_directivityType: 0,//EDirectivityType----指向性类型----(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n
	o_startEffect_endTime: 0,//Single----开始特效结束时间----
	o_newSkillIsCreateNewObj: false,
	o_bulletE_attackDistance: 0,//Single----子弹_攻击距离----
	o_bulletE_startTime: 0,//Single----子弹_开始时间----
	o_bulletE_endTime: 0,//Single----子弹_结束时间/n----
	o_bulletE_toEndPointNoColliderIsBlast: false,
	o_blast_startTime: 0,//Single----爆炸_开始时间----
	o_blast_endTime: 0,//Single----爆炸_结束时间----
	o_blastE_hurtCheckRadius: 0,//Single----爆炸_伤害检查半径----
	o_Attack_DurationTime: 0,//Single----攻击_持续时间----
	o_Blast_MotionType: 0,//Int32----爆炸_跟踪类型----
	o_Blast_MoveEnemyType: 0,//Int32----爆炸_位移敌人类型----
	o_Blast_DecelerationEnemyValue: 0,//Int32----爆炸_减速敌人特性----
	o_physicsHurtPercentage: 0,//Single----物理伤害百分比----
	o_spellsHurtPercentage: 0,//Single----法术伤害百分比----
	_specialPropertys: {},//Single[][]----数值属性----1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间
	_specialProperteee: {},//Single[][]----dddd----
	o_SortIndex: 0,//Byte----商店排序----
	o_IsFreeAdmission: false,
	o_Price: 0,//Int32----价格----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 42:
				return o_aimIconType;
			case 43:
				return o_aimFailLimitAngle;
			case 44:
				return o_hurtIntervalTime;
			case 45:
				return o_directivityType;
			case 49:
				return o_startEffect_endTime;
			case 50:
				return o_newSkillIsCreateNewObj;
			case 55:
				return o_bulletE_attackDistance;
			case 56:
				return o_bulletE_startTime;
			case 57:
				return o_bulletE_endTime;
			case 58:
				return o_bulletE_toEndPointNoColliderIsBlast;
			case 60:
				return o_blast_startTime;
			case 62:
				return o_blast_endTime;
			case 63:
				return o_blastE_hurtCheckRadius;
			case 109:
				return o_Attack_DurationTime;
			case 115:
				return o_Blast_MotionType;
			case 117:
				return o_Blast_MoveEnemyType;
			case 119:
				return o_Blast_DecelerationEnemyValue;
			case 211:
				return o_physicsHurtPercentage;
			case 212:
				return o_spellsHurtPercentage;
			case 223:
				return _specialPropertys;
			case 224:
				return _specialProperteee;
			case 230:
				return o_SortIndex;
			case 231:
				return o_IsFreeAdmission;
			case 232:
				return o_Price;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 42:
				o_aimIconType = obj;
				break;
			case 43:
				o_aimFailLimitAngle = obj;
				break;
			case 44:
				o_hurtIntervalTime = obj;
				break;
			case 45:
				o_directivityType = obj;
				break;
			case 49:
				o_startEffect_endTime = obj;
				break;
			case 50:
				o_newSkillIsCreateNewObj = obj;
				break;
			case 55:
				o_bulletE_attackDistance = obj;
				break;
			case 56:
				o_bulletE_startTime = obj;
				break;
			case 57:
				o_bulletE_endTime = obj;
				break;
			case 58:
				o_bulletE_toEndPointNoColliderIsBlast = obj;
				break;
			case 60:
				o_blast_startTime = obj;
				break;
			case 62:
				o_blast_endTime = obj;
				break;
			case 63:
				o_blastE_hurtCheckRadius = obj;
				break;
			case 109:
				o_Attack_DurationTime = obj;
				break;
			case 115:
				o_Blast_MotionType = obj;
				break;
			case 117:
				o_Blast_MoveEnemyType = obj;
				break;
			case 119:
				o_Blast_DecelerationEnemyValue = obj;
				break;
			case 211:
				o_physicsHurtPercentage = obj;
				break;
			case 212:
				o_spellsHurtPercentage = obj;
				break;
			case 223:
				_specialPropertys = obj;
				break;
			case 224:
				_specialProperteee = obj;
				break;
			case 230:
				o_SortIndex = obj;
				break;
			case 231:
				o_IsFreeAdmission = obj;
				break;
			case 232:
				o_Price = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_aimIconType != 0) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(o_aimIconType);//ֵ
		}
		if (o_aimFailLimitAngle != 0) {
			binaryWriter.Write(43);//�ֶ�����
			binaryWriter.Write(o_aimFailLimitAngle);//ֵ
		}
		if (o_hurtIntervalTime != 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.Write(o_hurtIntervalTime);//ֵ
		}
		if (o_directivityType != 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.Write(o_directivityType);//ֵ
		}
		if (o_startEffect_endTime != 0) {
			binaryWriter.Write(49);//�ֶ�����
			binaryWriter.Write(o_startEffect_endTime);//ֵ
		}
		if (o_newSkillIsCreateNewObj != false) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(o_newSkillIsCreateNewObj);//ֵ
		}
		if (o_bulletE_attackDistance != 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.Write(o_bulletE_attackDistance);//ֵ
		}
		if (o_bulletE_startTime != 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.Write(o_bulletE_startTime);//ֵ
		}
		if (o_bulletE_endTime != 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.Write(o_bulletE_endTime);//ֵ
		}
		if (o_bulletE_toEndPointNoColliderIsBlast != false) {
			binaryWriter.Write(58);//�ֶ�����
			binaryWriter.Write(o_bulletE_toEndPointNoColliderIsBlast);//ֵ
		}
		if (o_blast_startTime != 0) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.Write(o_blast_startTime);//ֵ
		}
		if (o_blast_endTime != 0) {
			binaryWriter.Write(62);//�ֶ�����
			binaryWriter.Write(o_blast_endTime);//ֵ
		}
		if (o_blastE_hurtCheckRadius != 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.Write(o_blastE_hurtCheckRadius);//ֵ
		}
		if (o_Attack_DurationTime != 0) {
			binaryWriter.Write(109);//�ֶ�����
			binaryWriter.Write(o_Attack_DurationTime);//ֵ
		}
		if (o_Blast_MotionType != 0) {
			binaryWriter.Write(115);//�ֶ�����
			binaryWriter.Write(o_Blast_MotionType);//ֵ
		}
		if (o_Blast_MoveEnemyType != 0) {
			binaryWriter.Write(117);//�ֶ�����
			binaryWriter.Write(o_Blast_MoveEnemyType);//ֵ
		}
		if (o_Blast_DecelerationEnemyValue != 0) {
			binaryWriter.Write(119);//�ֶ�����
			binaryWriter.Write(o_Blast_DecelerationEnemyValue);//ֵ
		}
		if (o_physicsHurtPercentage != 0) {
			binaryWriter.Write(211);//�ֶ�����
			binaryWriter.Write(o_physicsHurtPercentage);//ֵ
		}
		if (o_spellsHurtPercentage != 0) {
			binaryWriter.Write(212);//�ֶ�����
			binaryWriter.Write(o_spellsHurtPercentage);//ֵ
		}
		if (_specialPropertys != null && _specialPropertys.Length > 0) {
			binaryWriter.Write(223);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialPropertys, EBaseType.e008_float);//����
		}
		if (_specialProperteee != null && _specialProperteee.Length > 0) {
			binaryWriter.Write(224);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialProperteee, EBaseType.e008_float);//����
		}
		if (o_SortIndex != 0) {
			binaryWriter.Write(230);//�ֶ�����
			binaryWriter.Write(o_SortIndex);//ֵ
		}
		if (o_IsFreeAdmission != false) {
			binaryWriter.Write(231);//�ֶ�����
			binaryWriter.Write(o_IsFreeAdmission);//ֵ
		}
		if (o_Price != 0) {
			binaryWriter.Write(232);//�ֶ�����
			binaryWriter.Write(o_Price);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 42:
					o_aimIconType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EAimIconType
					break;
				case 43:
				o_aimFailLimitAngle = binaryReader.ReadSingle();
					break;
				case 44:
				o_hurtIntervalTime = binaryReader.ReadSingle();
					break;
				case 45:
					o_directivityType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EDirectivityType
					break;
				case 49:
				o_startEffect_endTime = binaryReader.ReadSingle();
					break;
				case 50:
					o_newSkillIsCreateNewObj = binaryReader.ReadBoolean();
					break;
				case 55:
				o_bulletE_attackDistance = binaryReader.ReadSingle();
					break;
				case 56:
				o_bulletE_startTime = binaryReader.ReadSingle();
					break;
				case 57:
				o_bulletE_endTime = binaryReader.ReadSingle();
					break;
				case 58:
					o_bulletE_toEndPointNoColliderIsBlast = binaryReader.ReadBoolean();
					break;
				case 60:
				o_blast_startTime = binaryReader.ReadSingle();
					break;
				case 62:
				o_blast_endTime = binaryReader.ReadSingle();
					break;
				case 63:
				o_blastE_hurtCheckRadius = binaryReader.ReadSingle();
					break;
				case 109:
				o_Attack_DurationTime = binaryReader.ReadSingle();
					break;
				case 115:
					o_Blast_MotionType = binaryReader.ReadInt32();
					break;
				case 117:
					o_Blast_MoveEnemyType = binaryReader.ReadInt32();
					break;
				case 119:
					o_Blast_DecelerationEnemyValue = binaryReader.ReadInt32();
					break;
				case 211:
				o_physicsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 212:
				o_spellsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 223:
					_specialPropertys = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 224:
					_specialProperteee = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 230:
				o_SortIndex = binaryReader.ReadByte();
					break;
				case 231:
					o_IsFreeAdmission = binaryReader.ReadBoolean();
					break;
				case 232:
					o_Price = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.SkillEffect.SkillCfg_003_LightBeam.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &42=" + this.o_aimIconType;//--瞄准图标类型
		str = str + "  &43=" + this.o_aimFailLimitAngle;//--瞄准失败极限角度
		str = str + "  &44=" + this.o_hurtIntervalTime;//--伤害间隔时间
		str = str + "  &45=" + this.o_directivityType;//--指向性类型
		str = str + "  &49=" + this.o_startEffect_endTime;//--开始特效结束时间
		str = str + "  &50=" + this.o_newSkillIsCreateNewObj;//--新技能是否创建新对象(创建的新对象使用对象池控制)/n
		str = str + "  &55=" + this.o_bulletE_attackDistance;//--子弹_攻击距离
		str = str + "  &56=" + this.o_bulletE_startTime;//--子弹_开始时间
		str = str + "  &57=" + this.o_bulletE_endTime;//--子弹_结束时间/n
		str = str + "  &58=" + this.o_bulletE_toEndPointNoColliderIsBlast;//--子弹_发射到结束点没有碰撞是否爆炸
		str = str + "  &60=" + this.o_blast_startTime;//--爆炸_开始时间
		str = str + "  &62=" + this.o_blast_endTime;//--爆炸_结束时间
		str = str + "  &63=" + this.o_blastE_hurtCheckRadius;//--爆炸_伤害检查半径
		str = str + "  &109=" + this.o_Attack_DurationTime;//--攻击_持续时间
		str = str + "  &115=" + this.o_Blast_MotionType;//--爆炸_跟踪类型
		str = str + "  &117=" + this.o_Blast_MoveEnemyType;//--爆炸_位移敌人类型
		str = str + "  &119=" + this.o_Blast_DecelerationEnemyValue;//--爆炸_减速敌人特性
		str = str + "  &211=" + this.o_physicsHurtPercentage;//--物理伤害百分比
		str = str + "  &212=" + this.o_spellsHurtPercentage;//--法术伤害百分比
		str = str + "  &223=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialPropertys, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &224=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialProperteee, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &230=" + this.o_SortIndex;//--商店排序
		str = str + "  &231=" + this.o_IsFreeAdmission;//--是否周免
		str = str + "  &232=" + this.o_Price;//--价格
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 42:
						this.o_aimIconType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EAimIconType
						break;
					case 43:
						this.o_aimFailLimitAngle = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 44:
						this.o_hurtIntervalTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 45:
						this.o_directivityType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EDirectivityType
						break;
					case 49:
						this.o_startEffect_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 50:
						this.o_newSkillIsCreateNewObj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 55:
						this.o_bulletE_attackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 56:
						this.o_bulletE_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 57:
						this.o_bulletE_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 58:
						this.o_bulletE_toEndPointNoColliderIsBlast = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 60:
						this.o_blast_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 62:
						this.o_blast_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 63:
						this.o_blastE_hurtCheckRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 109:
						this.o_Attack_DurationTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 115:
						this.o_Blast_MotionType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 117:
						this.o_Blast_MoveEnemyType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 119:
						this.o_Blast_DecelerationEnemyValue = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 211:
						this.o_physicsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 212:
						this.o_spellsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 223:
						this._specialPropertys = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 224:
						this._specialProperteee = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 230:
						this.o_SortIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 231:
						this.o_IsFreeAdmission = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 232:
						this.o_Price = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.SkillCfg_003_LightBeam_dic = { 
	"m_fieldArr" : {
		"42" : new CSUtils.AField(42, "U3dGame.Part.SkillEffect.EAimIconType", "瞄准图标类型", "(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)", "o_aimIconType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"43" : new CSUtils.AField(43, "System.Single", "瞄准失败极限角度", "", "o_aimFailLimitAngle", 3, "10", "80", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"44" : new CSUtils.AField(44, "System.Single", "伤害间隔时间", "", "o_hurtIntervalTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"45" : new CSUtils.AField(45, "U3dGame.Part.SkillEffect.EDirectivityType", "指向性类型", "(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n", "o_directivityType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"49" : new CSUtils.AField(49, "System.Single", "开始特效结束时间", "", "o_startEffect_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"50" : new CSUtils.AField(50, "System.Boolean", "新技能是否创建新对象(创建的新对象使用对象池控制)/n", "", "o_newSkillIsCreateNewObj", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"55" : new CSUtils.AField(55, "System.Single", "子弹_攻击距离", "", "o_bulletE_attackDistance", 3, "0.1", "300", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"56" : new CSUtils.AField(56, "System.Single", "子弹_开始时间", "", "o_bulletE_startTime", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"57" : new CSUtils.AField(57, "System.Single", "子弹_结束时间/n", "", "o_bulletE_endTime", 3, "1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"58" : new CSUtils.AField(58, "System.Boolean", "子弹_发射到结束点没有碰撞是否爆炸", "", "o_bulletE_toEndPointNoColliderIsBlast", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"60" : new CSUtils.AField(60, "System.Single", "爆炸_开始时间", "", "o_blast_startTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"62" : new CSUtils.AField(62, "System.Single", "爆炸_结束时间", "", "o_blast_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"63" : new CSUtils.AField(63, "System.Single", "爆炸_伤害检查半径", "", "o_blastE_hurtCheckRadius", 3, "1", "20", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"109" : new CSUtils.AField(109, "System.Single", "攻击_持续时间", "", "o_Attack_DurationTime", 3, "0", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_003_LightBeam"),
		"115" : new CSUtils.AField(115, "System.Int32", "爆炸_跟踪类型", "", "o_Blast_MotionType", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_003_LightBeam"),
		"117" : new CSUtils.AField(117, "System.Int32", "爆炸_位移敌人类型", "", "o_Blast_MoveEnemyType", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_003_LightBeam"),
		"119" : new CSUtils.AField(119, "System.Int32", "爆炸_减速敌人特性", "", "o_Blast_DecelerationEnemyValue", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_003_LightBeam"),
		"223" : new CSUtils.AField(223, "System.Single[][]", "数值属性", "1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间", "_specialPropertys", 3, "0", "100", "U3dGame.M_SkillBuffProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"224" : new CSUtils.AField(224, "System.Single[][]", "dddd", "", "_specialProperteee", 3, "0", "100", "U3dGame.M_EternalProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"211" : new CSUtils.AField(211, "System.Single", "物理伤害百分比", "", "o_physicsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"212" : new CSUtils.AField(212, "System.Single", "法术伤害百分比", "", "o_spellsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"230" : new CSUtils.AField(230, "System.Byte", "商店排序", "", "o_SortIndex", 3, "0", "255", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"231" : new CSUtils.AField(231, "System.Boolean", "是否周免", "", "o_IsFreeAdmission", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"232" : new CSUtils.AField(232, "System.Int32", "价格", "", "o_Price", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
	},
}

//--------10_08_001_004----
//----多子弹--
CComposite.Part.SkillCfg_004_MultipleBullet = function(){}
CComposite.Part.SkillCfg_004_MultipleBullet.prototype = {
	get m_className() {return "SkillCfg_004_MultipleBullet";},
	get m_typeId() {return "10_08_001_004";},
	get m_typeTag() {return "多子弹";},
	get m_fieldArr() {return CComposite.Part.SkillCfg_004_MultipleBullet_dic.m_fieldArr;},
	_instanceId : 0,

	o_aimIconType: 0,//EAimIconType----瞄准图标类型----(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)
	o_aimFailLimitAngle: 0,//Single----瞄准失败极限角度----
	o_hurtIntervalTime: 0,//Single----伤害间隔时间----
	o_directivityType: 0,//EDirectivityType----指向性类型----(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n
	o_startEffect_endTime: 0,//Single----开始特效结束时间----
	o_newSkillIsCreateNewObj: false,
	o_bulletE_attackDistance: 0,//Single----子弹_攻击距离----
	o_bulletE_startTime: 0,//Single----子弹_开始时间----
	o_bulletE_endTime: 0,//Single----子弹_结束时间/n----
	o_bulletE_toEndPointNoColliderIsBlast: false,
	o_blast_startTime: 0,//Single----爆炸_开始时间----
	o_blast_endTime: 0,//Single----爆炸_结束时间----
	o_blastE_hurtCheckRadius: 0,//Single----爆炸_伤害检查半径----
	o_Launth_Number: 0,//Int32----发射_数量----
	o_Launth_shape: 0,//E_ShapeType----发射形状----(1=平行,2=扇形,3=目标范围型)
	o_Launth_shapeParameters: {},//Single[]----发射形状参数----{//1=(0平行最大距离,1间隔时间), //2=(0扇形单个角度), //3=(0目标范围最大半径,1间隔时间)}
	o_Launch_MoveSpeed: 0,//Int32----发射_移动速度----
	o_Launch_heightRatio: 0,//Single----发射_弹道高度比----
	o_Launch_ReturnSpeed: 0,//Int32----发射_返回速度----速度 < 3, 就不在返回了
	o_Launch_ReturnWaitingTime: 0,//Int32----发射_返回前停留时间----
	oLaunchSkillMoveObjType: 0,//ESkillMoveType----发射_位移雇主类型----
	o_Launch_collisionIsDeath: false,
	o_Blast_MotionType: 0,//Int32----爆炸_跟踪类型----
	o_Blast_MoveEnemyType: 0,//Int32----爆炸_位移敌人类型----
	o_Blast_DecelerationEnemyValue: 0,//Int32----爆炸_减速敌人特性----
	o_physicsHurtPercentage: 0,//Single----物理伤害百分比----
	o_spellsHurtPercentage: 0,//Single----法术伤害百分比----
	_specialPropertys: {},//Single[][]----数值属性----1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间
	_specialProperteee: {},//Single[][]----dddd----
	o_SortIndex: 0,//Byte----商店排序----
	o_IsFreeAdmission: false,
	o_Price: 0,//Int32----价格----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 42:
				return o_aimIconType;
			case 43:
				return o_aimFailLimitAngle;
			case 44:
				return o_hurtIntervalTime;
			case 45:
				return o_directivityType;
			case 49:
				return o_startEffect_endTime;
			case 50:
				return o_newSkillIsCreateNewObj;
			case 55:
				return o_bulletE_attackDistance;
			case 56:
				return o_bulletE_startTime;
			case 57:
				return o_bulletE_endTime;
			case 58:
				return o_bulletE_toEndPointNoColliderIsBlast;
			case 60:
				return o_blast_startTime;
			case 62:
				return o_blast_endTime;
			case 63:
				return o_blastE_hurtCheckRadius;
			case 108:
				return o_Launth_Number;
			case 110:
				return o_Launth_shape;
			case 111:
				return o_Launth_shapeParameters;
			case 115:
				return o_Launch_MoveSpeed;
			case 117:
				return o_Launch_heightRatio;
			case 119:
				return o_Launch_ReturnSpeed;
			case 120:
				return o_Launch_ReturnWaitingTime;
			case 121:
				return oLaunchSkillMoveObjType;
			case 123:
				return o_Launch_collisionIsDeath;
			case 135:
				return o_Blast_MotionType;
			case 137:
				return o_Blast_MoveEnemyType;
			case 139:
				return o_Blast_DecelerationEnemyValue;
			case 211:
				return o_physicsHurtPercentage;
			case 212:
				return o_spellsHurtPercentage;
			case 223:
				return _specialPropertys;
			case 224:
				return _specialProperteee;
			case 230:
				return o_SortIndex;
			case 231:
				return o_IsFreeAdmission;
			case 232:
				return o_Price;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 42:
				o_aimIconType = obj;
				break;
			case 43:
				o_aimFailLimitAngle = obj;
				break;
			case 44:
				o_hurtIntervalTime = obj;
				break;
			case 45:
				o_directivityType = obj;
				break;
			case 49:
				o_startEffect_endTime = obj;
				break;
			case 50:
				o_newSkillIsCreateNewObj = obj;
				break;
			case 55:
				o_bulletE_attackDistance = obj;
				break;
			case 56:
				o_bulletE_startTime = obj;
				break;
			case 57:
				o_bulletE_endTime = obj;
				break;
			case 58:
				o_bulletE_toEndPointNoColliderIsBlast = obj;
				break;
			case 60:
				o_blast_startTime = obj;
				break;
			case 62:
				o_blast_endTime = obj;
				break;
			case 63:
				o_blastE_hurtCheckRadius = obj;
				break;
			case 108:
				o_Launth_Number = obj;
				break;
			case 110:
				o_Launth_shape = obj;
				break;
			case 111:
				o_Launth_shapeParameters = obj;
				break;
			case 115:
				o_Launch_MoveSpeed = obj;
				break;
			case 117:
				o_Launch_heightRatio = obj;
				break;
			case 119:
				o_Launch_ReturnSpeed = obj;
				break;
			case 120:
				o_Launch_ReturnWaitingTime = obj;
				break;
			case 121:
				oLaunchSkillMoveObjType = obj;
				break;
			case 123:
				o_Launch_collisionIsDeath = obj;
				break;
			case 135:
				o_Blast_MotionType = obj;
				break;
			case 137:
				o_Blast_MoveEnemyType = obj;
				break;
			case 139:
				o_Blast_DecelerationEnemyValue = obj;
				break;
			case 211:
				o_physicsHurtPercentage = obj;
				break;
			case 212:
				o_spellsHurtPercentage = obj;
				break;
			case 223:
				_specialPropertys = obj;
				break;
			case 224:
				_specialProperteee = obj;
				break;
			case 230:
				o_SortIndex = obj;
				break;
			case 231:
				o_IsFreeAdmission = obj;
				break;
			case 232:
				o_Price = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_aimIconType != 0) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(o_aimIconType);//ֵ
		}
		if (o_aimFailLimitAngle != 0) {
			binaryWriter.Write(43);//�ֶ�����
			binaryWriter.Write(o_aimFailLimitAngle);//ֵ
		}
		if (o_hurtIntervalTime != 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.Write(o_hurtIntervalTime);//ֵ
		}
		if (o_directivityType != 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.Write(o_directivityType);//ֵ
		}
		if (o_startEffect_endTime != 0) {
			binaryWriter.Write(49);//�ֶ�����
			binaryWriter.Write(o_startEffect_endTime);//ֵ
		}
		if (o_newSkillIsCreateNewObj != false) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(o_newSkillIsCreateNewObj);//ֵ
		}
		if (o_bulletE_attackDistance != 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.Write(o_bulletE_attackDistance);//ֵ
		}
		if (o_bulletE_startTime != 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.Write(o_bulletE_startTime);//ֵ
		}
		if (o_bulletE_endTime != 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.Write(o_bulletE_endTime);//ֵ
		}
		if (o_bulletE_toEndPointNoColliderIsBlast != false) {
			binaryWriter.Write(58);//�ֶ�����
			binaryWriter.Write(o_bulletE_toEndPointNoColliderIsBlast);//ֵ
		}
		if (o_blast_startTime != 0) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.Write(o_blast_startTime);//ֵ
		}
		if (o_blast_endTime != 0) {
			binaryWriter.Write(62);//�ֶ�����
			binaryWriter.Write(o_blast_endTime);//ֵ
		}
		if (o_blastE_hurtCheckRadius != 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.Write(o_blastE_hurtCheckRadius);//ֵ
		}
		if (o_Launth_Number != 0) {
			binaryWriter.Write(108);//�ֶ�����
			binaryWriter.Write(o_Launth_Number);//ֵ
		}
		if (o_Launth_shape != 0) {
			binaryWriter.Write(110);//�ֶ�����
			binaryWriter.Write(o_Launth_shape);//ֵ
		}
		if (o_Launth_shapeParameters != null && o_Launth_shapeParameters.Length > 0) {
			binaryWriter.Write(111);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_Launth_shapeParameters, EBaseType.e008_float);//����
		}
		if (o_Launch_MoveSpeed != 0) {
			binaryWriter.Write(115);//�ֶ�����
			binaryWriter.Write(o_Launch_MoveSpeed);//ֵ
		}
		if (o_Launch_heightRatio != 0) {
			binaryWriter.Write(117);//�ֶ�����
			binaryWriter.Write(o_Launch_heightRatio);//ֵ
		}
		if (o_Launch_ReturnSpeed != 0) {
			binaryWriter.Write(119);//�ֶ�����
			binaryWriter.Write(o_Launch_ReturnSpeed);//ֵ
		}
		if (o_Launch_ReturnWaitingTime != 0) {
			binaryWriter.Write(120);//�ֶ�����
			binaryWriter.Write(o_Launch_ReturnWaitingTime);//ֵ
		}
		if (oLaunchSkillMoveObjType != 0) {
			binaryWriter.Write(121);//�ֶ�����
			binaryWriter.Write(oLaunchSkillMoveObjType);//ֵ
		}
		if (o_Launch_collisionIsDeath != false) {
			binaryWriter.Write(123);//�ֶ�����
			binaryWriter.Write(o_Launch_collisionIsDeath);//ֵ
		}
		if (o_Blast_MotionType != 0) {
			binaryWriter.Write(135);//�ֶ�����
			binaryWriter.Write(o_Blast_MotionType);//ֵ
		}
		if (o_Blast_MoveEnemyType != 0) {
			binaryWriter.Write(137);//�ֶ�����
			binaryWriter.Write(o_Blast_MoveEnemyType);//ֵ
		}
		if (o_Blast_DecelerationEnemyValue != 0) {
			binaryWriter.Write(139);//�ֶ�����
			binaryWriter.Write(o_Blast_DecelerationEnemyValue);//ֵ
		}
		if (o_physicsHurtPercentage != 0) {
			binaryWriter.Write(211);//�ֶ�����
			binaryWriter.Write(o_physicsHurtPercentage);//ֵ
		}
		if (o_spellsHurtPercentage != 0) {
			binaryWriter.Write(212);//�ֶ�����
			binaryWriter.Write(o_spellsHurtPercentage);//ֵ
		}
		if (_specialPropertys != null && _specialPropertys.Length > 0) {
			binaryWriter.Write(223);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialPropertys, EBaseType.e008_float);//����
		}
		if (_specialProperteee != null && _specialProperteee.Length > 0) {
			binaryWriter.Write(224);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialProperteee, EBaseType.e008_float);//����
		}
		if (o_SortIndex != 0) {
			binaryWriter.Write(230);//�ֶ�����
			binaryWriter.Write(o_SortIndex);//ֵ
		}
		if (o_IsFreeAdmission != false) {
			binaryWriter.Write(231);//�ֶ�����
			binaryWriter.Write(o_IsFreeAdmission);//ֵ
		}
		if (o_Price != 0) {
			binaryWriter.Write(232);//�ֶ�����
			binaryWriter.Write(o_Price);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 42:
					o_aimIconType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EAimIconType
					break;
				case 43:
				o_aimFailLimitAngle = binaryReader.ReadSingle();
					break;
				case 44:
				o_hurtIntervalTime = binaryReader.ReadSingle();
					break;
				case 45:
					o_directivityType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EDirectivityType
					break;
				case 49:
				o_startEffect_endTime = binaryReader.ReadSingle();
					break;
				case 50:
					o_newSkillIsCreateNewObj = binaryReader.ReadBoolean();
					break;
				case 55:
				o_bulletE_attackDistance = binaryReader.ReadSingle();
					break;
				case 56:
				o_bulletE_startTime = binaryReader.ReadSingle();
					break;
				case 57:
				o_bulletE_endTime = binaryReader.ReadSingle();
					break;
				case 58:
					o_bulletE_toEndPointNoColliderIsBlast = binaryReader.ReadBoolean();
					break;
				case 60:
				o_blast_startTime = binaryReader.ReadSingle();
					break;
				case 62:
				o_blast_endTime = binaryReader.ReadSingle();
					break;
				case 63:
				o_blastE_hurtCheckRadius = binaryReader.ReadSingle();
					break;
				case 108:
					o_Launth_Number = binaryReader.ReadInt32();
					break;
				case 110:
					o_Launth_shape = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.E_ShapeType
					break;
				case 111:
					o_Launth_shapeParameters = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 115:
					o_Launch_MoveSpeed = binaryReader.ReadInt32();
					break;
				case 117:
				o_Launch_heightRatio = binaryReader.ReadSingle();
					break;
				case 119:
					o_Launch_ReturnSpeed = binaryReader.ReadInt32();
					break;
				case 120:
					o_Launch_ReturnWaitingTime = binaryReader.ReadInt32();
					break;
				case 121:
					oLaunchSkillMoveObjType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.ESkillMoveType
					break;
				case 123:
					o_Launch_collisionIsDeath = binaryReader.ReadBoolean();
					break;
				case 135:
					o_Blast_MotionType = binaryReader.ReadInt32();
					break;
				case 137:
					o_Blast_MoveEnemyType = binaryReader.ReadInt32();
					break;
				case 139:
					o_Blast_DecelerationEnemyValue = binaryReader.ReadInt32();
					break;
				case 211:
				o_physicsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 212:
				o_spellsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 223:
					_specialPropertys = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 224:
					_specialProperteee = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 230:
				o_SortIndex = binaryReader.ReadByte();
					break;
				case 231:
					o_IsFreeAdmission = binaryReader.ReadBoolean();
					break;
				case 232:
					o_Price = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &42=" + this.o_aimIconType;//--瞄准图标类型
		str = str + "  &43=" + this.o_aimFailLimitAngle;//--瞄准失败极限角度
		str = str + "  &44=" + this.o_hurtIntervalTime;//--伤害间隔时间
		str = str + "  &45=" + this.o_directivityType;//--指向性类型
		str = str + "  &49=" + this.o_startEffect_endTime;//--开始特效结束时间
		str = str + "  &50=" + this.o_newSkillIsCreateNewObj;//--新技能是否创建新对象(创建的新对象使用对象池控制)/n
		str = str + "  &55=" + this.o_bulletE_attackDistance;//--子弹_攻击距离
		str = str + "  &56=" + this.o_bulletE_startTime;//--子弹_开始时间
		str = str + "  &57=" + this.o_bulletE_endTime;//--子弹_结束时间/n
		str = str + "  &58=" + this.o_bulletE_toEndPointNoColliderIsBlast;//--子弹_发射到结束点没有碰撞是否爆炸
		str = str + "  &60=" + this.o_blast_startTime;//--爆炸_开始时间
		str = str + "  &62=" + this.o_blast_endTime;//--爆炸_结束时间
		str = str + "  &63=" + this.o_blastE_hurtCheckRadius;//--爆炸_伤害检查半径
		str = str + "  &108=" + this.o_Launth_Number;//--发射_数量
		str = str + "  &110=" + this.o_Launth_shape;//--发射形状
		str = str + "  &111=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_Launth_shapeParameters, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &115=" + this.o_Launch_MoveSpeed;//--发射_移动速度
		str = str + "  &117=" + this.o_Launch_heightRatio;//--发射_弹道高度比
		str = str + "  &119=" + this.o_Launch_ReturnSpeed;//--发射_返回速度
		str = str + "  &120=" + this.o_Launch_ReturnWaitingTime;//--发射_返回前停留时间
		str = str + "  &121=" + this.oLaunchSkillMoveObjType;//--发射_位移雇主类型
		str = str + "  &123=" + this.o_Launch_collisionIsDeath;//--发射_碰撞是否死亡
		str = str + "  &135=" + this.o_Blast_MotionType;//--爆炸_跟踪类型
		str = str + "  &137=" + this.o_Blast_MoveEnemyType;//--爆炸_位移敌人类型
		str = str + "  &139=" + this.o_Blast_DecelerationEnemyValue;//--爆炸_减速敌人特性
		str = str + "  &211=" + this.o_physicsHurtPercentage;//--物理伤害百分比
		str = str + "  &212=" + this.o_spellsHurtPercentage;//--法术伤害百分比
		str = str + "  &223=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialPropertys, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &224=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialProperteee, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &230=" + this.o_SortIndex;//--商店排序
		str = str + "  &231=" + this.o_IsFreeAdmission;//--是否周免
		str = str + "  &232=" + this.o_Price;//--价格
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 42:
						this.o_aimIconType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EAimIconType
						break;
					case 43:
						this.o_aimFailLimitAngle = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 44:
						this.o_hurtIntervalTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 45:
						this.o_directivityType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EDirectivityType
						break;
					case 49:
						this.o_startEffect_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 50:
						this.o_newSkillIsCreateNewObj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 55:
						this.o_bulletE_attackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 56:
						this.o_bulletE_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 57:
						this.o_bulletE_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 58:
						this.o_bulletE_toEndPointNoColliderIsBlast = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 60:
						this.o_blast_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 62:
						this.o_blast_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 63:
						this.o_blastE_hurtCheckRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 108:
						this.o_Launth_Number = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 110:
						this.o_Launth_shape = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.E_ShapeType
						break;
					case 111:
						this.o_Launth_shapeParameters = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 115:
						this.o_Launch_MoveSpeed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 117:
						this.o_Launch_heightRatio = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 119:
						this.o_Launch_ReturnSpeed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 120:
						this.o_Launch_ReturnWaitingTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 121:
						this.oLaunchSkillMoveObjType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.ESkillMoveType
						break;
					case 123:
						this.o_Launch_collisionIsDeath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 135:
						this.o_Blast_MotionType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 137:
						this.o_Blast_MoveEnemyType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 139:
						this.o_Blast_DecelerationEnemyValue = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 211:
						this.o_physicsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 212:
						this.o_spellsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 223:
						this._specialPropertys = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 224:
						this._specialProperteee = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 230:
						this.o_SortIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 231:
						this.o_IsFreeAdmission = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 232:
						this.o_Price = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.SkillCfg_004_MultipleBullet_dic = { 
	"m_fieldArr" : {
		"42" : new CSUtils.AField(42, "U3dGame.Part.SkillEffect.EAimIconType", "瞄准图标类型", "(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)", "o_aimIconType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"43" : new CSUtils.AField(43, "System.Single", "瞄准失败极限角度", "", "o_aimFailLimitAngle", 3, "10", "80", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"44" : new CSUtils.AField(44, "System.Single", "伤害间隔时间", "", "o_hurtIntervalTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"45" : new CSUtils.AField(45, "U3dGame.Part.SkillEffect.EDirectivityType", "指向性类型", "(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n", "o_directivityType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"49" : new CSUtils.AField(49, "System.Single", "开始特效结束时间", "", "o_startEffect_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"50" : new CSUtils.AField(50, "System.Boolean", "新技能是否创建新对象(创建的新对象使用对象池控制)/n", "", "o_newSkillIsCreateNewObj", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"55" : new CSUtils.AField(55, "System.Single", "子弹_攻击距离", "", "o_bulletE_attackDistance", 3, "0.1", "300", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"56" : new CSUtils.AField(56, "System.Single", "子弹_开始时间", "", "o_bulletE_startTime", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"57" : new CSUtils.AField(57, "System.Single", "子弹_结束时间/n", "", "o_bulletE_endTime", 3, "1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"58" : new CSUtils.AField(58, "System.Boolean", "子弹_发射到结束点没有碰撞是否爆炸", "", "o_bulletE_toEndPointNoColliderIsBlast", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"60" : new CSUtils.AField(60, "System.Single", "爆炸_开始时间", "", "o_blast_startTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"62" : new CSUtils.AField(62, "System.Single", "爆炸_结束时间", "", "o_blast_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"63" : new CSUtils.AField(63, "System.Single", "爆炸_伤害检查半径", "", "o_blastE_hurtCheckRadius", 3, "1", "20", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"108" : new CSUtils.AField(108, "System.Int32", "发射_数量", "", "o_Launth_Number", 3, "1", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"110" : new CSUtils.AField(110, "U3dGame.Part.SkillEffect.E_ShapeType", "发射形状", "(1=平行,2=扇形,3=目标范围型)", "o_Launth_shape", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"111" : new CSUtils.AField(111, "System.Single[]", "发射形状参数", "{//1=(0平行最大距离,1间隔时间), //2=(0扇形单个角度), //3=(0目标范围最大半径,1间隔时间)}", "o_Launth_shapeParameters", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"115" : new CSUtils.AField(115, "System.Int32", "发射_移动速度", "", "o_Launch_MoveSpeed", 3, "1", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"117" : new CSUtils.AField(117, "System.Single", "发射_弹道高度比", "", "o_Launch_heightRatio", 3, "0", "0.5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"119" : new CSUtils.AField(119, "System.Int32", "发射_返回速度", "速度 < 3, 就不在返回了", "o_Launch_ReturnSpeed", 3, "1", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"120" : new CSUtils.AField(120, "System.Int32", "发射_返回前停留时间", "", "o_Launch_ReturnWaitingTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"121" : new CSUtils.AField(121, "U3dGame.Part.SkillEffect.ESkillMoveType", "发射_位移雇主类型", "", "oLaunchSkillMoveObjType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"123" : new CSUtils.AField(123, "System.Boolean", "发射_碰撞是否死亡", "", "o_Launch_collisionIsDeath", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"135" : new CSUtils.AField(135, "System.Int32", "爆炸_跟踪类型", "", "o_Blast_MotionType", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"137" : new CSUtils.AField(137, "System.Int32", "爆炸_位移敌人类型", "", "o_Blast_MoveEnemyType", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"139" : new CSUtils.AField(139, "System.Int32", "爆炸_减速敌人特性", "", "o_Blast_DecelerationEnemyValue", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_004_MultipleBullet"),
		"223" : new CSUtils.AField(223, "System.Single[][]", "数值属性", "1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间", "_specialPropertys", 3, "0", "100", "U3dGame.M_SkillBuffProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"224" : new CSUtils.AField(224, "System.Single[][]", "dddd", "", "_specialProperteee", 3, "0", "100", "U3dGame.M_EternalProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"211" : new CSUtils.AField(211, "System.Single", "物理伤害百分比", "", "o_physicsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"212" : new CSUtils.AField(212, "System.Single", "法术伤害百分比", "", "o_spellsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"230" : new CSUtils.AField(230, "System.Byte", "商店排序", "", "o_SortIndex", 3, "0", "255", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"231" : new CSUtils.AField(231, "System.Boolean", "是否周免", "", "o_IsFreeAdmission", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"232" : new CSUtils.AField(232, "System.Int32", "价格", "", "o_Price", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
	},
}

//--------10_08_001_005----
//----技能弹跳--
CComposite.Part.SkillCfg_005_Bounce = function(){}
CComposite.Part.SkillCfg_005_Bounce.prototype = {
	get m_className() {return "SkillCfg_005_Bounce";},
	get m_typeId() {return "10_08_001_005";},
	get m_typeTag() {return "技能弹跳";},
	get m_fieldArr() {return CComposite.Part.SkillCfg_005_Bounce_dic.m_fieldArr;},
	_instanceId : 0,

	o_aimIconType: 0,//EAimIconType----瞄准图标类型----(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)
	o_aimFailLimitAngle: 0,//Single----瞄准失败极限角度----
	o_hurtIntervalTime: 0,//Single----伤害间隔时间----
	o_directivityType: 0,//EDirectivityType----指向性类型----(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n
	o_startEffect_endTime: 0,//Single----开始特效结束时间----
	o_newSkillIsCreateNewObj: false,
	o_bulletE_attackDistance: 0,//Single----子弹_攻击距离----
	o_bulletE_startTime: 0,//Single----子弹_开始时间----
	o_bulletE_endTime: 0,//Single----子弹_结束时间/n----
	o_bulletE_toEndPointNoColliderIsBlast: false,
	o_blast_startTime: 0,//Single----爆炸_开始时间----
	o_blast_endTime: 0,//Single----爆炸_结束时间----
	o_blastE_hurtCheckRadius: 0,//Single----爆炸_伤害检查半径----
	o_bounce_Number: 0,//Int32----弹跳次数----
	o_Launch_MoveSpeed: 0,//Int32----发射_移动速度----
	o_Launch_heightRatio: 0,//Single----发射_弹道高度比----
	o_physicsHurtPercentage: 0,//Single----物理伤害百分比----
	o_spellsHurtPercentage: 0,//Single----法术伤害百分比----
	_specialPropertys: {},//Single[][]----数值属性----1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间
	_specialProperteee: {},//Single[][]----dddd----
	o_SortIndex: 0,//Byte----商店排序----
	o_IsFreeAdmission: false,
	o_Price: 0,//Int32----价格----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 42:
				return o_aimIconType;
			case 43:
				return o_aimFailLimitAngle;
			case 44:
				return o_hurtIntervalTime;
			case 45:
				return o_directivityType;
			case 49:
				return o_startEffect_endTime;
			case 50:
				return o_newSkillIsCreateNewObj;
			case 55:
				return o_bulletE_attackDistance;
			case 56:
				return o_bulletE_startTime;
			case 57:
				return o_bulletE_endTime;
			case 58:
				return o_bulletE_toEndPointNoColliderIsBlast;
			case 60:
				return o_blast_startTime;
			case 62:
				return o_blast_endTime;
			case 63:
				return o_blastE_hurtCheckRadius;
			case 108:
				return o_bounce_Number;
			case 115:
				return o_Launch_MoveSpeed;
			case 117:
				return o_Launch_heightRatio;
			case 211:
				return o_physicsHurtPercentage;
			case 212:
				return o_spellsHurtPercentage;
			case 223:
				return _specialPropertys;
			case 224:
				return _specialProperteee;
			case 230:
				return o_SortIndex;
			case 231:
				return o_IsFreeAdmission;
			case 232:
				return o_Price;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 42:
				o_aimIconType = obj;
				break;
			case 43:
				o_aimFailLimitAngle = obj;
				break;
			case 44:
				o_hurtIntervalTime = obj;
				break;
			case 45:
				o_directivityType = obj;
				break;
			case 49:
				o_startEffect_endTime = obj;
				break;
			case 50:
				o_newSkillIsCreateNewObj = obj;
				break;
			case 55:
				o_bulletE_attackDistance = obj;
				break;
			case 56:
				o_bulletE_startTime = obj;
				break;
			case 57:
				o_bulletE_endTime = obj;
				break;
			case 58:
				o_bulletE_toEndPointNoColliderIsBlast = obj;
				break;
			case 60:
				o_blast_startTime = obj;
				break;
			case 62:
				o_blast_endTime = obj;
				break;
			case 63:
				o_blastE_hurtCheckRadius = obj;
				break;
			case 108:
				o_bounce_Number = obj;
				break;
			case 115:
				o_Launch_MoveSpeed = obj;
				break;
			case 117:
				o_Launch_heightRatio = obj;
				break;
			case 211:
				o_physicsHurtPercentage = obj;
				break;
			case 212:
				o_spellsHurtPercentage = obj;
				break;
			case 223:
				_specialPropertys = obj;
				break;
			case 224:
				_specialProperteee = obj;
				break;
			case 230:
				o_SortIndex = obj;
				break;
			case 231:
				o_IsFreeAdmission = obj;
				break;
			case 232:
				o_Price = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_aimIconType != 0) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(o_aimIconType);//ֵ
		}
		if (o_aimFailLimitAngle != 0) {
			binaryWriter.Write(43);//�ֶ�����
			binaryWriter.Write(o_aimFailLimitAngle);//ֵ
		}
		if (o_hurtIntervalTime != 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.Write(o_hurtIntervalTime);//ֵ
		}
		if (o_directivityType != 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.Write(o_directivityType);//ֵ
		}
		if (o_startEffect_endTime != 0) {
			binaryWriter.Write(49);//�ֶ�����
			binaryWriter.Write(o_startEffect_endTime);//ֵ
		}
		if (o_newSkillIsCreateNewObj != false) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(o_newSkillIsCreateNewObj);//ֵ
		}
		if (o_bulletE_attackDistance != 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.Write(o_bulletE_attackDistance);//ֵ
		}
		if (o_bulletE_startTime != 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.Write(o_bulletE_startTime);//ֵ
		}
		if (o_bulletE_endTime != 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.Write(o_bulletE_endTime);//ֵ
		}
		if (o_bulletE_toEndPointNoColliderIsBlast != false) {
			binaryWriter.Write(58);//�ֶ�����
			binaryWriter.Write(o_bulletE_toEndPointNoColliderIsBlast);//ֵ
		}
		if (o_blast_startTime != 0) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.Write(o_blast_startTime);//ֵ
		}
		if (o_blast_endTime != 0) {
			binaryWriter.Write(62);//�ֶ�����
			binaryWriter.Write(o_blast_endTime);//ֵ
		}
		if (o_blastE_hurtCheckRadius != 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.Write(o_blastE_hurtCheckRadius);//ֵ
		}
		if (o_bounce_Number != 0) {
			binaryWriter.Write(108);//�ֶ�����
			binaryWriter.Write(o_bounce_Number);//ֵ
		}
		if (o_Launch_MoveSpeed != 0) {
			binaryWriter.Write(115);//�ֶ�����
			binaryWriter.Write(o_Launch_MoveSpeed);//ֵ
		}
		if (o_Launch_heightRatio != 0) {
			binaryWriter.Write(117);//�ֶ�����
			binaryWriter.Write(o_Launch_heightRatio);//ֵ
		}
		if (o_physicsHurtPercentage != 0) {
			binaryWriter.Write(211);//�ֶ�����
			binaryWriter.Write(o_physicsHurtPercentage);//ֵ
		}
		if (o_spellsHurtPercentage != 0) {
			binaryWriter.Write(212);//�ֶ�����
			binaryWriter.Write(o_spellsHurtPercentage);//ֵ
		}
		if (_specialPropertys != null && _specialPropertys.Length > 0) {
			binaryWriter.Write(223);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialPropertys, EBaseType.e008_float);//����
		}
		if (_specialProperteee != null && _specialProperteee.Length > 0) {
			binaryWriter.Write(224);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialProperteee, EBaseType.e008_float);//����
		}
		if (o_SortIndex != 0) {
			binaryWriter.Write(230);//�ֶ�����
			binaryWriter.Write(o_SortIndex);//ֵ
		}
		if (o_IsFreeAdmission != false) {
			binaryWriter.Write(231);//�ֶ�����
			binaryWriter.Write(o_IsFreeAdmission);//ֵ
		}
		if (o_Price != 0) {
			binaryWriter.Write(232);//�ֶ�����
			binaryWriter.Write(o_Price);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 42:
					o_aimIconType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EAimIconType
					break;
				case 43:
				o_aimFailLimitAngle = binaryReader.ReadSingle();
					break;
				case 44:
				o_hurtIntervalTime = binaryReader.ReadSingle();
					break;
				case 45:
					o_directivityType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EDirectivityType
					break;
				case 49:
				o_startEffect_endTime = binaryReader.ReadSingle();
					break;
				case 50:
					o_newSkillIsCreateNewObj = binaryReader.ReadBoolean();
					break;
				case 55:
				o_bulletE_attackDistance = binaryReader.ReadSingle();
					break;
				case 56:
				o_bulletE_startTime = binaryReader.ReadSingle();
					break;
				case 57:
				o_bulletE_endTime = binaryReader.ReadSingle();
					break;
				case 58:
					o_bulletE_toEndPointNoColliderIsBlast = binaryReader.ReadBoolean();
					break;
				case 60:
				o_blast_startTime = binaryReader.ReadSingle();
					break;
				case 62:
				o_blast_endTime = binaryReader.ReadSingle();
					break;
				case 63:
				o_blastE_hurtCheckRadius = binaryReader.ReadSingle();
					break;
				case 108:
					o_bounce_Number = binaryReader.ReadInt32();
					break;
				case 115:
					o_Launch_MoveSpeed = binaryReader.ReadInt32();
					break;
				case 117:
				o_Launch_heightRatio = binaryReader.ReadSingle();
					break;
				case 211:
				o_physicsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 212:
				o_spellsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 223:
					_specialPropertys = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 224:
					_specialProperteee = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 230:
				o_SortIndex = binaryReader.ReadByte();
					break;
				case 231:
					o_IsFreeAdmission = binaryReader.ReadBoolean();
					break;
				case 232:
					o_Price = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.SkillEffect.SkillCfg_005_Bounce.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &42=" + this.o_aimIconType;//--瞄准图标类型
		str = str + "  &43=" + this.o_aimFailLimitAngle;//--瞄准失败极限角度
		str = str + "  &44=" + this.o_hurtIntervalTime;//--伤害间隔时间
		str = str + "  &45=" + this.o_directivityType;//--指向性类型
		str = str + "  &49=" + this.o_startEffect_endTime;//--开始特效结束时间
		str = str + "  &50=" + this.o_newSkillIsCreateNewObj;//--新技能是否创建新对象(创建的新对象使用对象池控制)/n
		str = str + "  &55=" + this.o_bulletE_attackDistance;//--子弹_攻击距离
		str = str + "  &56=" + this.o_bulletE_startTime;//--子弹_开始时间
		str = str + "  &57=" + this.o_bulletE_endTime;//--子弹_结束时间/n
		str = str + "  &58=" + this.o_bulletE_toEndPointNoColliderIsBlast;//--子弹_发射到结束点没有碰撞是否爆炸
		str = str + "  &60=" + this.o_blast_startTime;//--爆炸_开始时间
		str = str + "  &62=" + this.o_blast_endTime;//--爆炸_结束时间
		str = str + "  &63=" + this.o_blastE_hurtCheckRadius;//--爆炸_伤害检查半径
		str = str + "  &108=" + this.o_bounce_Number;//--弹跳次数
		str = str + "  &115=" + this.o_Launch_MoveSpeed;//--发射_移动速度
		str = str + "  &117=" + this.o_Launch_heightRatio;//--发射_弹道高度比
		str = str + "  &211=" + this.o_physicsHurtPercentage;//--物理伤害百分比
		str = str + "  &212=" + this.o_spellsHurtPercentage;//--法术伤害百分比
		str = str + "  &223=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialPropertys, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &224=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialProperteee, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &230=" + this.o_SortIndex;//--商店排序
		str = str + "  &231=" + this.o_IsFreeAdmission;//--是否周免
		str = str + "  &232=" + this.o_Price;//--价格
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 42:
						this.o_aimIconType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EAimIconType
						break;
					case 43:
						this.o_aimFailLimitAngle = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 44:
						this.o_hurtIntervalTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 45:
						this.o_directivityType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EDirectivityType
						break;
					case 49:
						this.o_startEffect_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 50:
						this.o_newSkillIsCreateNewObj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 55:
						this.o_bulletE_attackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 56:
						this.o_bulletE_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 57:
						this.o_bulletE_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 58:
						this.o_bulletE_toEndPointNoColliderIsBlast = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 60:
						this.o_blast_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 62:
						this.o_blast_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 63:
						this.o_blastE_hurtCheckRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 108:
						this.o_bounce_Number = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 115:
						this.o_Launch_MoveSpeed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 117:
						this.o_Launch_heightRatio = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 211:
						this.o_physicsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 212:
						this.o_spellsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 223:
						this._specialPropertys = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 224:
						this._specialProperteee = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 230:
						this.o_SortIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 231:
						this.o_IsFreeAdmission = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 232:
						this.o_Price = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.SkillCfg_005_Bounce_dic = { 
	"m_fieldArr" : {
		"42" : new CSUtils.AField(42, "U3dGame.Part.SkillEffect.EAimIconType", "瞄准图标类型", "(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)", "o_aimIconType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"43" : new CSUtils.AField(43, "System.Single", "瞄准失败极限角度", "", "o_aimFailLimitAngle", 3, "10", "80", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"44" : new CSUtils.AField(44, "System.Single", "伤害间隔时间", "", "o_hurtIntervalTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"45" : new CSUtils.AField(45, "U3dGame.Part.SkillEffect.EDirectivityType", "指向性类型", "(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n", "o_directivityType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"49" : new CSUtils.AField(49, "System.Single", "开始特效结束时间", "", "o_startEffect_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"50" : new CSUtils.AField(50, "System.Boolean", "新技能是否创建新对象(创建的新对象使用对象池控制)/n", "", "o_newSkillIsCreateNewObj", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"55" : new CSUtils.AField(55, "System.Single", "子弹_攻击距离", "", "o_bulletE_attackDistance", 3, "0.1", "300", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"56" : new CSUtils.AField(56, "System.Single", "子弹_开始时间", "", "o_bulletE_startTime", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"57" : new CSUtils.AField(57, "System.Single", "子弹_结束时间/n", "", "o_bulletE_endTime", 3, "1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"58" : new CSUtils.AField(58, "System.Boolean", "子弹_发射到结束点没有碰撞是否爆炸", "", "o_bulletE_toEndPointNoColliderIsBlast", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"60" : new CSUtils.AField(60, "System.Single", "爆炸_开始时间", "", "o_blast_startTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"62" : new CSUtils.AField(62, "System.Single", "爆炸_结束时间", "", "o_blast_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"63" : new CSUtils.AField(63, "System.Single", "爆炸_伤害检查半径", "", "o_blastE_hurtCheckRadius", 3, "1", "20", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"108" : new CSUtils.AField(108, "System.Int32", "弹跳次数", "", "o_bounce_Number", 3, "1", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_005_Bounce"),
		"115" : new CSUtils.AField(115, "System.Int32", "发射_移动速度", "", "o_Launch_MoveSpeed", 3, "1", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_005_Bounce"),
		"117" : new CSUtils.AField(117, "System.Single", "发射_弹道高度比", "", "o_Launch_heightRatio", 3, "0", "0.5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_005_Bounce"),
		"223" : new CSUtils.AField(223, "System.Single[][]", "数值属性", "1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间", "_specialPropertys", 3, "0", "100", "U3dGame.M_SkillBuffProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"224" : new CSUtils.AField(224, "System.Single[][]", "dddd", "", "_specialProperteee", 3, "0", "100", "U3dGame.M_EternalProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"211" : new CSUtils.AField(211, "System.Single", "物理伤害百分比", "", "o_physicsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"212" : new CSUtils.AField(212, "System.Single", "法术伤害百分比", "", "o_spellsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"230" : new CSUtils.AField(230, "System.Byte", "商店排序", "", "o_SortIndex", 3, "0", "255", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"231" : new CSUtils.AField(231, "System.Boolean", "是否周免", "", "o_IsFreeAdmission", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"232" : new CSUtils.AField(232, "System.Int32", "价格", "", "o_Price", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
	},
}

//--------10_08_001_006----
//----顶点跟踪伤害Cfg--
CComposite.Part.SkillCfg_6_FixedPoint = function(){}
CComposite.Part.SkillCfg_6_FixedPoint.prototype = {
	get m_className() {return "SkillCfg_6_FixedPoint";},
	get m_typeId() {return "10_08_001_006";},
	get m_typeTag() {return "顶点跟踪伤害Cfg";},
	get m_fieldArr() {return CComposite.Part.SkillCfg_6_FixedPoint_dic.m_fieldArr;},
	_instanceId : 0,

	o_aimIconType: 0,//EAimIconType----瞄准图标类型----(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)
	o_aimFailLimitAngle: 0,//Single----瞄准失败极限角度----
	o_hurtIntervalTime: 0,//Single----伤害间隔时间----
	o_directivityType: 0,//EDirectivityType----指向性类型----(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n
	o_startEffect_endTime: 0,//Single----开始特效结束时间----
	o_newSkillIsCreateNewObj: false,
	o_bulletE_attackDistance: 0,//Single----子弹_攻击距离----
	o_bulletE_startTime: 0,//Single----子弹_开始时间----
	o_bulletE_endTime: 0,//Single----子弹_结束时间/n----
	o_bulletE_toEndPointNoColliderIsBlast: false,
	o_blast_startTime: 0,//Single----爆炸_开始时间----
	o_blast_endTime: 0,//Single----爆炸_结束时间----
	o_blastE_hurtCheckRadius: 0,//Single----爆炸_伤害检查半径----
	o_coverageAreaSize: 0,//Single----覆盖区域大小,攻击半径----
	o_physicsHurtPercentage: 0,//Single----物理伤害百分比----
	o_spellsHurtPercentage: 0,//Single----法术伤害百分比----
	_specialPropertys: {},//Single[][]----数值属性----1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间
	_specialProperteee: {},//Single[][]----dddd----
	o_SortIndex: 0,//Byte----商店排序----
	o_IsFreeAdmission: false,
	o_Price: 0,//Int32----价格----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 42:
				return o_aimIconType;
			case 43:
				return o_aimFailLimitAngle;
			case 44:
				return o_hurtIntervalTime;
			case 45:
				return o_directivityType;
			case 49:
				return o_startEffect_endTime;
			case 50:
				return o_newSkillIsCreateNewObj;
			case 55:
				return o_bulletE_attackDistance;
			case 56:
				return o_bulletE_startTime;
			case 57:
				return o_bulletE_endTime;
			case 58:
				return o_bulletE_toEndPointNoColliderIsBlast;
			case 60:
				return o_blast_startTime;
			case 62:
				return o_blast_endTime;
			case 63:
				return o_blastE_hurtCheckRadius;
			case 107:
				return o_coverageAreaSize;
			case 211:
				return o_physicsHurtPercentage;
			case 212:
				return o_spellsHurtPercentage;
			case 223:
				return _specialPropertys;
			case 224:
				return _specialProperteee;
			case 230:
				return o_SortIndex;
			case 231:
				return o_IsFreeAdmission;
			case 232:
				return o_Price;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 42:
				o_aimIconType = obj;
				break;
			case 43:
				o_aimFailLimitAngle = obj;
				break;
			case 44:
				o_hurtIntervalTime = obj;
				break;
			case 45:
				o_directivityType = obj;
				break;
			case 49:
				o_startEffect_endTime = obj;
				break;
			case 50:
				o_newSkillIsCreateNewObj = obj;
				break;
			case 55:
				o_bulletE_attackDistance = obj;
				break;
			case 56:
				o_bulletE_startTime = obj;
				break;
			case 57:
				o_bulletE_endTime = obj;
				break;
			case 58:
				o_bulletE_toEndPointNoColliderIsBlast = obj;
				break;
			case 60:
				o_blast_startTime = obj;
				break;
			case 62:
				o_blast_endTime = obj;
				break;
			case 63:
				o_blastE_hurtCheckRadius = obj;
				break;
			case 107:
				o_coverageAreaSize = obj;
				break;
			case 211:
				o_physicsHurtPercentage = obj;
				break;
			case 212:
				o_spellsHurtPercentage = obj;
				break;
			case 223:
				_specialPropertys = obj;
				break;
			case 224:
				_specialProperteee = obj;
				break;
			case 230:
				o_SortIndex = obj;
				break;
			case 231:
				o_IsFreeAdmission = obj;
				break;
			case 232:
				o_Price = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_aimIconType != 0) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(o_aimIconType);//ֵ
		}
		if (o_aimFailLimitAngle != 0) {
			binaryWriter.Write(43);//�ֶ�����
			binaryWriter.Write(o_aimFailLimitAngle);//ֵ
		}
		if (o_hurtIntervalTime != 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.Write(o_hurtIntervalTime);//ֵ
		}
		if (o_directivityType != 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.Write(o_directivityType);//ֵ
		}
		if (o_startEffect_endTime != 0) {
			binaryWriter.Write(49);//�ֶ�����
			binaryWriter.Write(o_startEffect_endTime);//ֵ
		}
		if (o_newSkillIsCreateNewObj != false) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(o_newSkillIsCreateNewObj);//ֵ
		}
		if (o_bulletE_attackDistance != 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.Write(o_bulletE_attackDistance);//ֵ
		}
		if (o_bulletE_startTime != 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.Write(o_bulletE_startTime);//ֵ
		}
		if (o_bulletE_endTime != 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.Write(o_bulletE_endTime);//ֵ
		}
		if (o_bulletE_toEndPointNoColliderIsBlast != false) {
			binaryWriter.Write(58);//�ֶ�����
			binaryWriter.Write(o_bulletE_toEndPointNoColliderIsBlast);//ֵ
		}
		if (o_blast_startTime != 0) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.Write(o_blast_startTime);//ֵ
		}
		if (o_blast_endTime != 0) {
			binaryWriter.Write(62);//�ֶ�����
			binaryWriter.Write(o_blast_endTime);//ֵ
		}
		if (o_blastE_hurtCheckRadius != 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.Write(o_blastE_hurtCheckRadius);//ֵ
		}
		if (o_coverageAreaSize != 0) {
			binaryWriter.Write(107);//�ֶ�����
			binaryWriter.Write(o_coverageAreaSize);//ֵ
		}
		if (o_physicsHurtPercentage != 0) {
			binaryWriter.Write(211);//�ֶ�����
			binaryWriter.Write(o_physicsHurtPercentage);//ֵ
		}
		if (o_spellsHurtPercentage != 0) {
			binaryWriter.Write(212);//�ֶ�����
			binaryWriter.Write(o_spellsHurtPercentage);//ֵ
		}
		if (_specialPropertys != null && _specialPropertys.Length > 0) {
			binaryWriter.Write(223);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialPropertys, EBaseType.e008_float);//����
		}
		if (_specialProperteee != null && _specialProperteee.Length > 0) {
			binaryWriter.Write(224);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialProperteee, EBaseType.e008_float);//����
		}
		if (o_SortIndex != 0) {
			binaryWriter.Write(230);//�ֶ�����
			binaryWriter.Write(o_SortIndex);//ֵ
		}
		if (o_IsFreeAdmission != false) {
			binaryWriter.Write(231);//�ֶ�����
			binaryWriter.Write(o_IsFreeAdmission);//ֵ
		}
		if (o_Price != 0) {
			binaryWriter.Write(232);//�ֶ�����
			binaryWriter.Write(o_Price);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 42:
					o_aimIconType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EAimIconType
					break;
				case 43:
				o_aimFailLimitAngle = binaryReader.ReadSingle();
					break;
				case 44:
				o_hurtIntervalTime = binaryReader.ReadSingle();
					break;
				case 45:
					o_directivityType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EDirectivityType
					break;
				case 49:
				o_startEffect_endTime = binaryReader.ReadSingle();
					break;
				case 50:
					o_newSkillIsCreateNewObj = binaryReader.ReadBoolean();
					break;
				case 55:
				o_bulletE_attackDistance = binaryReader.ReadSingle();
					break;
				case 56:
				o_bulletE_startTime = binaryReader.ReadSingle();
					break;
				case 57:
				o_bulletE_endTime = binaryReader.ReadSingle();
					break;
				case 58:
					o_bulletE_toEndPointNoColliderIsBlast = binaryReader.ReadBoolean();
					break;
				case 60:
				o_blast_startTime = binaryReader.ReadSingle();
					break;
				case 62:
				o_blast_endTime = binaryReader.ReadSingle();
					break;
				case 63:
				o_blastE_hurtCheckRadius = binaryReader.ReadSingle();
					break;
				case 107:
				o_coverageAreaSize = binaryReader.ReadSingle();
					break;
				case 211:
				o_physicsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 212:
				o_spellsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 223:
					_specialPropertys = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 224:
					_specialProperteee = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 230:
				o_SortIndex = binaryReader.ReadByte();
					break;
				case 231:
					o_IsFreeAdmission = binaryReader.ReadBoolean();
					break;
				case 232:
					o_Price = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.SkillEffect.SkillCfg_6_FixedPoint.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &42=" + this.o_aimIconType;//--瞄准图标类型
		str = str + "  &43=" + this.o_aimFailLimitAngle;//--瞄准失败极限角度
		str = str + "  &44=" + this.o_hurtIntervalTime;//--伤害间隔时间
		str = str + "  &45=" + this.o_directivityType;//--指向性类型
		str = str + "  &49=" + this.o_startEffect_endTime;//--开始特效结束时间
		str = str + "  &50=" + this.o_newSkillIsCreateNewObj;//--新技能是否创建新对象(创建的新对象使用对象池控制)/n
		str = str + "  &55=" + this.o_bulletE_attackDistance;//--子弹_攻击距离
		str = str + "  &56=" + this.o_bulletE_startTime;//--子弹_开始时间
		str = str + "  &57=" + this.o_bulletE_endTime;//--子弹_结束时间/n
		str = str + "  &58=" + this.o_bulletE_toEndPointNoColliderIsBlast;//--子弹_发射到结束点没有碰撞是否爆炸
		str = str + "  &60=" + this.o_blast_startTime;//--爆炸_开始时间
		str = str + "  &62=" + this.o_blast_endTime;//--爆炸_结束时间
		str = str + "  &63=" + this.o_blastE_hurtCheckRadius;//--爆炸_伤害检查半径
		str = str + "  &107=" + this.o_coverageAreaSize;//--覆盖区域大小,攻击半径
		str = str + "  &211=" + this.o_physicsHurtPercentage;//--物理伤害百分比
		str = str + "  &212=" + this.o_spellsHurtPercentage;//--法术伤害百分比
		str = str + "  &223=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialPropertys, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &224=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialProperteee, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &230=" + this.o_SortIndex;//--商店排序
		str = str + "  &231=" + this.o_IsFreeAdmission;//--是否周免
		str = str + "  &232=" + this.o_Price;//--价格
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 42:
						this.o_aimIconType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EAimIconType
						break;
					case 43:
						this.o_aimFailLimitAngle = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 44:
						this.o_hurtIntervalTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 45:
						this.o_directivityType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EDirectivityType
						break;
					case 49:
						this.o_startEffect_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 50:
						this.o_newSkillIsCreateNewObj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 55:
						this.o_bulletE_attackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 56:
						this.o_bulletE_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 57:
						this.o_bulletE_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 58:
						this.o_bulletE_toEndPointNoColliderIsBlast = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 60:
						this.o_blast_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 62:
						this.o_blast_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 63:
						this.o_blastE_hurtCheckRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 107:
						this.o_coverageAreaSize = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 211:
						this.o_physicsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 212:
						this.o_spellsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 223:
						this._specialPropertys = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 224:
						this._specialProperteee = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 230:
						this.o_SortIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 231:
						this.o_IsFreeAdmission = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 232:
						this.o_Price = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.SkillCfg_6_FixedPoint_dic = { 
	"m_fieldArr" : {
		"42" : new CSUtils.AField(42, "U3dGame.Part.SkillEffect.EAimIconType", "瞄准图标类型", "(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)", "o_aimIconType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"43" : new CSUtils.AField(43, "System.Single", "瞄准失败极限角度", "", "o_aimFailLimitAngle", 3, "10", "80", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"44" : new CSUtils.AField(44, "System.Single", "伤害间隔时间", "", "o_hurtIntervalTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"45" : new CSUtils.AField(45, "U3dGame.Part.SkillEffect.EDirectivityType", "指向性类型", "(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n", "o_directivityType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"49" : new CSUtils.AField(49, "System.Single", "开始特效结束时间", "", "o_startEffect_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"50" : new CSUtils.AField(50, "System.Boolean", "新技能是否创建新对象(创建的新对象使用对象池控制)/n", "", "o_newSkillIsCreateNewObj", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"55" : new CSUtils.AField(55, "System.Single", "子弹_攻击距离", "", "o_bulletE_attackDistance", 3, "0.1", "300", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"56" : new CSUtils.AField(56, "System.Single", "子弹_开始时间", "", "o_bulletE_startTime", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"57" : new CSUtils.AField(57, "System.Single", "子弹_结束时间/n", "", "o_bulletE_endTime", 3, "1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"58" : new CSUtils.AField(58, "System.Boolean", "子弹_发射到结束点没有碰撞是否爆炸", "", "o_bulletE_toEndPointNoColliderIsBlast", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"60" : new CSUtils.AField(60, "System.Single", "爆炸_开始时间", "", "o_blast_startTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"62" : new CSUtils.AField(62, "System.Single", "爆炸_结束时间", "", "o_blast_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"63" : new CSUtils.AField(63, "System.Single", "爆炸_伤害检查半径", "", "o_blastE_hurtCheckRadius", 3, "1", "20", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"107" : new CSUtils.AField(107, "System.Single", "覆盖区域大小,攻击半径", "", "o_coverageAreaSize", 3, "1", "50", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_6_FixedPoint"),
		"223" : new CSUtils.AField(223, "System.Single[][]", "数值属性", "1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间", "_specialPropertys", 3, "0", "100", "U3dGame.M_SkillBuffProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"224" : new CSUtils.AField(224, "System.Single[][]", "dddd", "", "_specialProperteee", 3, "0", "100", "U3dGame.M_EternalProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"211" : new CSUtils.AField(211, "System.Single", "物理伤害百分比", "", "o_physicsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"212" : new CSUtils.AField(212, "System.Single", "法术伤害百分比", "", "o_spellsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"230" : new CSUtils.AField(230, "System.Byte", "商店排序", "", "o_SortIndex", 3, "0", "255", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"231" : new CSUtils.AField(231, "System.Boolean", "是否周免", "", "o_IsFreeAdmission", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"232" : new CSUtils.AField(232, "System.Int32", "价格", "", "o_Price", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
	},
}

//--------10_08_001_025----
//----接受游戏--
CComposite.Part.SkillCfg_025_GameEnd = function(){}
CComposite.Part.SkillCfg_025_GameEnd.prototype = {
	get m_className() {return "SkillCfg_025_GameEnd";},
	get m_typeId() {return "10_08_001_025";},
	get m_typeTag() {return "接受游戏";},
	get m_fieldArr() {return CComposite.Part.SkillCfg_025_GameEnd_dic.m_fieldArr;},
	_instanceId : 0,

	o_Launth_Number: 0,//Int32----发射_数量----
	o_aimIconType: 0,//EAimIconType----瞄准图标类型----(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)
	o_aimFailLimitAngle: 0,//Single----瞄准失败极限角度----
	o_hurtIntervalTime: 0,//Single----伤害间隔时间----
	o_directivityType: 0,//EDirectivityType----指向性类型----(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n
	o_startEffect_endTime: 0,//Single----开始特效结束时间----
	o_newSkillIsCreateNewObj: false,
	o_bulletE_attackDistance: 0,//Single----子弹_攻击距离----
	o_bulletE_startTime: 0,//Single----子弹_开始时间----
	o_bulletE_endTime: 0,//Single----子弹_结束时间/n----
	o_bulletE_toEndPointNoColliderIsBlast: false,
	o_blast_startTime: 0,//Single----爆炸_开始时间----
	o_blast_endTime: 0,//Single----爆炸_结束时间----
	o_blastE_hurtCheckRadius: 0,//Single----爆炸_伤害检查半径----
	o_physicsHurtPercentage: 0,//Single----物理伤害百分比----
	o_spellsHurtPercentage: 0,//Single----法术伤害百分比----
	_specialPropertys: {},//Single[][]----数值属性----1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间
	_specialProperteee: {},//Single[][]----dddd----
	o_SortIndex: 0,//Byte----商店排序----
	o_IsFreeAdmission: false,
	o_Price: 0,//Int32----价格----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 38:
				return o_Launth_Number;
			case 42:
				return o_aimIconType;
			case 43:
				return o_aimFailLimitAngle;
			case 44:
				return o_hurtIntervalTime;
			case 45:
				return o_directivityType;
			case 49:
				return o_startEffect_endTime;
			case 50:
				return o_newSkillIsCreateNewObj;
			case 55:
				return o_bulletE_attackDistance;
			case 56:
				return o_bulletE_startTime;
			case 57:
				return o_bulletE_endTime;
			case 58:
				return o_bulletE_toEndPointNoColliderIsBlast;
			case 60:
				return o_blast_startTime;
			case 62:
				return o_blast_endTime;
			case 63:
				return o_blastE_hurtCheckRadius;
			case 211:
				return o_physicsHurtPercentage;
			case 212:
				return o_spellsHurtPercentage;
			case 223:
				return _specialPropertys;
			case 224:
				return _specialProperteee;
			case 230:
				return o_SortIndex;
			case 231:
				return o_IsFreeAdmission;
			case 232:
				return o_Price;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 38:
				o_Launth_Number = obj;
				break;
			case 42:
				o_aimIconType = obj;
				break;
			case 43:
				o_aimFailLimitAngle = obj;
				break;
			case 44:
				o_hurtIntervalTime = obj;
				break;
			case 45:
				o_directivityType = obj;
				break;
			case 49:
				o_startEffect_endTime = obj;
				break;
			case 50:
				o_newSkillIsCreateNewObj = obj;
				break;
			case 55:
				o_bulletE_attackDistance = obj;
				break;
			case 56:
				o_bulletE_startTime = obj;
				break;
			case 57:
				o_bulletE_endTime = obj;
				break;
			case 58:
				o_bulletE_toEndPointNoColliderIsBlast = obj;
				break;
			case 60:
				o_blast_startTime = obj;
				break;
			case 62:
				o_blast_endTime = obj;
				break;
			case 63:
				o_blastE_hurtCheckRadius = obj;
				break;
			case 211:
				o_physicsHurtPercentage = obj;
				break;
			case 212:
				o_spellsHurtPercentage = obj;
				break;
			case 223:
				_specialPropertys = obj;
				break;
			case 224:
				_specialProperteee = obj;
				break;
			case 230:
				o_SortIndex = obj;
				break;
			case 231:
				o_IsFreeAdmission = obj;
				break;
			case 232:
				o_Price = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_Launth_Number != 0) {
			binaryWriter.Write(38);//�ֶ�����
			binaryWriter.Write(o_Launth_Number);//ֵ
		}
		if (o_aimIconType != 0) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(o_aimIconType);//ֵ
		}
		if (o_aimFailLimitAngle != 0) {
			binaryWriter.Write(43);//�ֶ�����
			binaryWriter.Write(o_aimFailLimitAngle);//ֵ
		}
		if (o_hurtIntervalTime != 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.Write(o_hurtIntervalTime);//ֵ
		}
		if (o_directivityType != 0) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.Write(o_directivityType);//ֵ
		}
		if (o_startEffect_endTime != 0) {
			binaryWriter.Write(49);//�ֶ�����
			binaryWriter.Write(o_startEffect_endTime);//ֵ
		}
		if (o_newSkillIsCreateNewObj != false) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(o_newSkillIsCreateNewObj);//ֵ
		}
		if (o_bulletE_attackDistance != 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.Write(o_bulletE_attackDistance);//ֵ
		}
		if (o_bulletE_startTime != 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.Write(o_bulletE_startTime);//ֵ
		}
		if (o_bulletE_endTime != 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.Write(o_bulletE_endTime);//ֵ
		}
		if (o_bulletE_toEndPointNoColliderIsBlast != false) {
			binaryWriter.Write(58);//�ֶ�����
			binaryWriter.Write(o_bulletE_toEndPointNoColliderIsBlast);//ֵ
		}
		if (o_blast_startTime != 0) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.Write(o_blast_startTime);//ֵ
		}
		if (o_blast_endTime != 0) {
			binaryWriter.Write(62);//�ֶ�����
			binaryWriter.Write(o_blast_endTime);//ֵ
		}
		if (o_blastE_hurtCheckRadius != 0) {
			binaryWriter.Write(63);//�ֶ�����
			binaryWriter.Write(o_blastE_hurtCheckRadius);//ֵ
		}
		if (o_physicsHurtPercentage != 0) {
			binaryWriter.Write(211);//�ֶ�����
			binaryWriter.Write(o_physicsHurtPercentage);//ֵ
		}
		if (o_spellsHurtPercentage != 0) {
			binaryWriter.Write(212);//�ֶ�����
			binaryWriter.Write(o_spellsHurtPercentage);//ֵ
		}
		if (_specialPropertys != null && _specialPropertys.Length > 0) {
			binaryWriter.Write(223);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialPropertys, EBaseType.e008_float);//����
		}
		if (_specialProperteee != null && _specialProperteee.Length > 0) {
			binaryWriter.Write(224);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_specialProperteee, EBaseType.e008_float);//����
		}
		if (o_SortIndex != 0) {
			binaryWriter.Write(230);//�ֶ�����
			binaryWriter.Write(o_SortIndex);//ֵ
		}
		if (o_IsFreeAdmission != false) {
			binaryWriter.Write(231);//�ֶ�����
			binaryWriter.Write(o_IsFreeAdmission);//ֵ
		}
		if (o_Price != 0) {
			binaryWriter.Write(232);//�ֶ�����
			binaryWriter.Write(o_Price);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 38:
					o_Launth_Number = binaryReader.ReadInt32();
					break;
				case 42:
					o_aimIconType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EAimIconType
					break;
				case 43:
				o_aimFailLimitAngle = binaryReader.ReadSingle();
					break;
				case 44:
				o_hurtIntervalTime = binaryReader.ReadSingle();
					break;
				case 45:
					o_directivityType = binaryReader.ReadInt16(); //U3dGame.Part.SkillEffect.EDirectivityType
					break;
				case 49:
				o_startEffect_endTime = binaryReader.ReadSingle();
					break;
				case 50:
					o_newSkillIsCreateNewObj = binaryReader.ReadBoolean();
					break;
				case 55:
				o_bulletE_attackDistance = binaryReader.ReadSingle();
					break;
				case 56:
				o_bulletE_startTime = binaryReader.ReadSingle();
					break;
				case 57:
				o_bulletE_endTime = binaryReader.ReadSingle();
					break;
				case 58:
					o_bulletE_toEndPointNoColliderIsBlast = binaryReader.ReadBoolean();
					break;
				case 60:
				o_blast_startTime = binaryReader.ReadSingle();
					break;
				case 62:
				o_blast_endTime = binaryReader.ReadSingle();
					break;
				case 63:
				o_blastE_hurtCheckRadius = binaryReader.ReadSingle();
					break;
				case 211:
				o_physicsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 212:
				o_spellsHurtPercentage = binaryReader.ReadSingle();
					break;
				case 223:
					_specialPropertys = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 224:
					_specialProperteee = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 230:
				o_SortIndex = binaryReader.ReadByte();
					break;
				case 231:
					o_IsFreeAdmission = binaryReader.ReadBoolean();
					break;
				case 232:
					o_Price = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.SkillEffect.SkillCfg_025_GameEnd.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &38=" + this.o_Launth_Number;//--发射_数量
		str = str + "  &42=" + this.o_aimIconType;//--瞄准图标类型
		str = str + "  &43=" + this.o_aimFailLimitAngle;//--瞄准失败极限角度
		str = str + "  &44=" + this.o_hurtIntervalTime;//--伤害间隔时间
		str = str + "  &45=" + this.o_directivityType;//--指向性类型
		str = str + "  &49=" + this.o_startEffect_endTime;//--开始特效结束时间
		str = str + "  &50=" + this.o_newSkillIsCreateNewObj;//--新技能是否创建新对象(创建的新对象使用对象池控制)/n
		str = str + "  &55=" + this.o_bulletE_attackDistance;//--子弹_攻击距离
		str = str + "  &56=" + this.o_bulletE_startTime;//--子弹_开始时间
		str = str + "  &57=" + this.o_bulletE_endTime;//--子弹_结束时间/n
		str = str + "  &58=" + this.o_bulletE_toEndPointNoColliderIsBlast;//--子弹_发射到结束点没有碰撞是否爆炸
		str = str + "  &60=" + this.o_blast_startTime;//--爆炸_开始时间
		str = str + "  &62=" + this.o_blast_endTime;//--爆炸_结束时间
		str = str + "  &63=" + this.o_blastE_hurtCheckRadius;//--爆炸_伤害检查半径
		str = str + "  &211=" + this.o_physicsHurtPercentage;//--物理伤害百分比
		str = str + "  &212=" + this.o_spellsHurtPercentage;//--法术伤害百分比
		str = str + "  &223=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialPropertys, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &224=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._specialProperteee, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &230=" + this.o_SortIndex;//--商店排序
		str = str + "  &231=" + this.o_IsFreeAdmission;//--是否周免
		str = str + "  &232=" + this.o_Price;//--价格
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 38:
						this.o_Launth_Number = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 42:
						this.o_aimIconType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EAimIconType
						break;
					case 43:
						this.o_aimFailLimitAngle = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 44:
						this.o_hurtIntervalTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 45:
						this.o_directivityType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.Part.SkillEffect.EDirectivityType
						break;
					case 49:
						this.o_startEffect_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 50:
						this.o_newSkillIsCreateNewObj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 55:
						this.o_bulletE_attackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 56:
						this.o_bulletE_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 57:
						this.o_bulletE_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 58:
						this.o_bulletE_toEndPointNoColliderIsBlast = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 60:
						this.o_blast_startTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 62:
						this.o_blast_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 63:
						this.o_blastE_hurtCheckRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 211:
						this.o_physicsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 212:
						this.o_spellsHurtPercentage = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 223:
						this._specialPropertys = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 224:
						this._specialProperteee = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 230:
						this.o_SortIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 231:
						this.o_IsFreeAdmission = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 232:
						this.o_Price = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.SkillCfg_025_GameEnd_dic = { 
	"m_fieldArr" : {
		"38" : new CSUtils.AField(38, "System.Int32", "发射_数量", "", "o_Launth_Number", 3, "1", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_025_GameEnd"),
		"42" : new CSUtils.AField(42, "U3dGame.Part.SkillEffect.EAimIconType", "瞄准图标类型", "(0==z不瞄准,1==z圆点瞄准,2==z箭头瞄准)", "o_aimIconType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"43" : new CSUtils.AField(43, "System.Single", "瞄准失败极限角度", "", "o_aimFailLimitAngle", 3, "10", "80", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"44" : new CSUtils.AField(44, "System.Single", "伤害间隔时间", "", "o_hurtIntervalTime", 3, "0.1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"45" : new CSUtils.AField(45, "U3dGame.Part.SkillEffect.EDirectivityType", "指向性类型", "(0==非指向(长度可控制)//1==非指向(长度固定)//2==指向(目标点锁定敌人)//3==指向(长度固定/朝向敌人方向))/n", "o_directivityType", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"49" : new CSUtils.AField(49, "System.Single", "开始特效结束时间", "", "o_startEffect_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"50" : new CSUtils.AField(50, "System.Boolean", "新技能是否创建新对象(创建的新对象使用对象池控制)/n", "", "o_newSkillIsCreateNewObj", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"55" : new CSUtils.AField(55, "System.Single", "子弹_攻击距离", "", "o_bulletE_attackDistance", 3, "0.1", "300", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"56" : new CSUtils.AField(56, "System.Single", "子弹_开始时间", "", "o_bulletE_startTime", 3, "0", "5", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"57" : new CSUtils.AField(57, "System.Single", "子弹_结束时间/n", "", "o_bulletE_endTime", 3, "1", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"58" : new CSUtils.AField(58, "System.Boolean", "子弹_发射到结束点没有碰撞是否爆炸", "", "o_bulletE_toEndPointNoColliderIsBlast", 3, "0", "100", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"60" : new CSUtils.AField(60, "System.Single", "爆炸_开始时间", "", "o_blast_startTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"62" : new CSUtils.AField(62, "System.Single", "爆炸_结束时间", "", "o_blast_endTime", 3, "0", "10", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"63" : new CSUtils.AField(63, "System.Single", "爆炸_伤害检查半径", "", "o_blastE_hurtCheckRadius", 3, "1", "20", null, 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"223" : new CSUtils.AField(223, "System.Single[][]", "数值属性", "1=类型,2=所用对象,3=数值,4=计算优先级,5=间隔时间", "_specialPropertys", 3, "0", "100", "U3dGame.M_SkillBuffProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"224" : new CSUtils.AField(224, "System.Single[][]", "dddd", "", "_specialProperteee", 3, "0", "100", "U3dGame.M_EternalProperty", 0, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"211" : new CSUtils.AField(211, "System.Single", "物理伤害百分比", "", "o_physicsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"212" : new CSUtils.AField(212, "System.Single", "法术伤害百分比", "", "o_spellsHurtPercentage", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"230" : new CSUtils.AField(230, "System.Byte", "商店排序", "", "o_SortIndex", 3, "0", "255", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"231" : new CSUtils.AField(231, "System.Boolean", "是否周免", "", "o_IsFreeAdmission", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
		"232" : new CSUtils.AField(232, "System.Int32", "价格", "", "o_Price", 3, "0", "100", null, 10, "U3dGame.Part.SkillEffect.SkillCfg_Base"),
	},
}

//--------10_08_006_001----
//----N.BehaviorTree--
CComposite.Part.N_BehaviorTree = function(){}
CComposite.Part.N_BehaviorTree.prototype = {
	get m_className() {return "N_BehaviorTree";},
	get m_typeId() {return "10_08_006_001";},
	get m_typeTag() {return "N.BehaviorTree";},
	get m_fieldArr() {return CComposite.Part.N_BehaviorTree_dic.m_fieldArr;},
	_instanceId : 0,

	_treeId: 0,//Int32--------
	rootNode: null,//I_Node--------
	_variables: {},//I_Value[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _treeId;
			case 3:
				return rootNode;
			case 8:
				return _variables;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_treeId = obj;
				break;
			case 3:
				rootNode = obj;
				break;
			case 8:
				_variables = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_treeId != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_treeId);//ֵ
		}
		if (rootNode != null) {
			binaryWriter.Write(3);//�ֶ�����
			binaryWriter.S_WriteByteObj(rootNode, EBaseType.e021_weData);//WeData����
		}
		if (_variables != null && _variables.Length > 0) {
			binaryWriter.Write(8);//�ֶ�����
			binaryWriter.S_WriteByteArray(_variables, EBaseType.e021_weData);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_treeId = binaryReader.ReadInt32();
					break;
				case 3:
					rootNode = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.I_Node, uintObjDic);
					break;
				case 8:
					_variables = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.Part.BehaviorTree.Variable.I_Value, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.N_BehaviorTree.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._treeId;//--
		str = str + "  &3=" + this.rootNode;//--
		str = str + "  &8=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._variables, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._treeId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 3:
						this.rootNode = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 8:
						this._variables = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.Part.BehaviorTree.Variable.I_Value
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_BehaviorTree_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "", "", "_treeId", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.N_BehaviorTree"),
		"3" : new CSUtils.AField(3, "U3dGame.Part.BehaviorTree.I_Node", "", "", "rootNode", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.N_BehaviorTree"),
		"8" : new CSUtils.AField(8, "U3dGame.Part.BehaviorTree.Variable.I_Value[]", "", "", "_variables", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.N_BehaviorTree"),
	},
}

//--------10_08_006_200----
//----N.Null--
CComposite.Part.N_NullNode = function(){}
CComposite.Part.N_NullNode.prototype = {
	get m_className() {return "N_NullNode";},
	get m_typeId() {return "10_08_006_200";},
	get m_typeTag() {return "N.Null";},
	get m_fieldArr() {return CComposite.Part.N_NullNode_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.N_NullNode.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_NullNode_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
	},
}

//--------10_08_006_000----
//----N.攻击--
CComposite.Part.N_Attack = function(){}
CComposite.Part.N_Attack.prototype = {
	get m_className() {return "N_Attack";},
	get m_typeId() {return "10_08_006_000";},
	get m_typeTag() {return "N.攻击";},
	get m_fieldArr() {return CComposite.Part.N_Attack_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_employerSkillCoolingTime: null,//M_Float----雇主技能冷却时间,Float----
	o_employer: null,//M_Obj----雇主,Obj----
	o_targetEnemy: null,//M_Obj----目标敌人,Obj----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 64:
				return o_employerSkillCoolingTime;
			case 65:
				return o_employer;
			case 67:
				return o_targetEnemy;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 64:
				o_employerSkillCoolingTime = obj;
				break;
			case 65:
				o_employer = obj;
				break;
			case 67:
				o_targetEnemy = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_employerSkillCoolingTime != null) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employerSkillCoolingTime, EBaseType.e021_weData);//WeData����
		}
		if (o_employer != null) {
			binaryWriter.Write(65);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_targetEnemy != null) {
			binaryWriter.Write(67);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_targetEnemy, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 64:
					o_employerSkillCoolingTime = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 65:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 67:
					o_targetEnemy = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.EventTask.N_Attack.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &64=" + this.o_employerSkillCoolingTime;//--雇主技能冷却时间,Float
		str = str + "  &65=" + this.o_employer;//--雇主,Obj
		str = str + "  &67=" + this.o_targetEnemy;//--目标敌人,Obj
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 64:
						this.o_employerSkillCoolingTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 65:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 67:
						this.o_targetEnemy = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_Attack_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"64" : new CSUtils.AField(64, "U3dGame.Part.BehaviorTree.Variable.M_Float", "雇主技能冷却时间,Float", "", "o_employerSkillCoolingTime", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Attack"),
		"65" : new CSUtils.AField(65, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Attack"),
		"67" : new CSUtils.AField(67, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "目标敌人,Obj", "", "o_targetEnemy", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Attack"),
	},
}

//--------10_08_006_002----
//----N.逃跑--
CComposite.Part.N_Escape = function(){}
CComposite.Part.N_Escape.prototype = {
	get m_className() {return "N_Escape";},
	get m_typeId() {return "10_08_006_002";},
	get m_typeTag() {return "N.逃跑";},
	get m_fieldArr() {return CComposite.Part.N_Escape_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_employerMoveSpeed: null,//M_Float----雇主移动速度,Float----
	o_securityDistance: null,//M_Float----安全距离,Float----
	o_employer: null,//M_Obj----雇主,Obj----
	o_targetEnemy: null,//M_Obj----目标敌人,Obj----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 64:
				return o_employerMoveSpeed;
			case 66:
				return o_securityDistance;
			case 68:
				return o_employer;
			case 70:
				return o_targetEnemy;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 64:
				o_employerMoveSpeed = obj;
				break;
			case 66:
				o_securityDistance = obj;
				break;
			case 68:
				o_employer = obj;
				break;
			case 70:
				o_targetEnemy = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_employerMoveSpeed != null) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employerMoveSpeed, EBaseType.e021_weData);//WeData����
		}
		if (o_securityDistance != null) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_securityDistance, EBaseType.e021_weData);//WeData����
		}
		if (o_employer != null) {
			binaryWriter.Write(68);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_targetEnemy != null) {
			binaryWriter.Write(70);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_targetEnemy, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 64:
					o_employerMoveSpeed = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 66:
					o_securityDistance = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 68:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 70:
					o_targetEnemy = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.EventTask.N_Escape.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &64=" + this.o_employerMoveSpeed;//--雇主移动速度,Float
		str = str + "  &66=" + this.o_securityDistance;//--安全距离,Float
		str = str + "  &68=" + this.o_employer;//--雇主,Obj
		str = str + "  &70=" + this.o_targetEnemy;//--目标敌人,Obj
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 64:
						this.o_employerMoveSpeed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 66:
						this.o_securityDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 68:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 70:
						this.o_targetEnemy = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_Escape_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"64" : new CSUtils.AField(64, "U3dGame.Part.BehaviorTree.Variable.M_Float", "雇主移动速度,Float", "", "o_employerMoveSpeed", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Escape"),
		"66" : new CSUtils.AField(66, "U3dGame.Part.BehaviorTree.Variable.M_Float", "安全距离,Float", "", "o_securityDistance", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Escape"),
		"68" : new CSUtils.AField(68, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Escape"),
		"70" : new CSUtils.AField(70, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "目标敌人,Obj", "", "o_targetEnemy", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Escape"),
	},
}

//--------10_08_006_003----
//----N.巡逻--
CComposite.Part.N_Patrol = function(){}
CComposite.Part.N_Patrol.prototype = {
	get m_className() {return "N_Patrol";},
	get m_typeId() {return "10_08_006_003";},
	get m_typeTag() {return "N.巡逻";},
	get m_fieldArr() {return CComposite.Part.N_Patrol_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_liveRadius: null,//M_Float----活动半径-Float----
	o_leaderLiveRadius: null,//M_Float----领导活动半径,Float----
	o_employerMoveSpeed: null,//M_Float----雇主移动速度,Float----
	o_employer: null,//M_Obj----雇主,Obj----
	o_monsterNest: null,//M_Obj----怪物巢穴-Obj----
	o_monsterChief: null,//M_Obj----怪物首领-Obj----
	o_leaderTargetPosi: null,//M_Vector3----目标位置-Vector3----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 26:
				return o_liveRadius;
			case 27:
				return o_leaderLiveRadius;
			case 64:
				return o_employerMoveSpeed;
			case 66:
				return o_employer;
			case 77:
				return o_monsterNest;
			case 78:
				return o_monsterChief;
			case 82:
				return o_leaderTargetPosi;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 26:
				o_liveRadius = obj;
				break;
			case 27:
				o_leaderLiveRadius = obj;
				break;
			case 64:
				o_employerMoveSpeed = obj;
				break;
			case 66:
				o_employer = obj;
				break;
			case 77:
				o_monsterNest = obj;
				break;
			case 78:
				o_monsterChief = obj;
				break;
			case 82:
				o_leaderTargetPosi = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_liveRadius != null) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_liveRadius, EBaseType.e021_weData);//WeData����
		}
		if (o_leaderLiveRadius != null) {
			binaryWriter.Write(27);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_leaderLiveRadius, EBaseType.e021_weData);//WeData����
		}
		if (o_employerMoveSpeed != null) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employerMoveSpeed, EBaseType.e021_weData);//WeData����
		}
		if (o_employer != null) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterNest != null) {
			binaryWriter.Write(77);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterNest, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterChief != null) {
			binaryWriter.Write(78);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterChief, EBaseType.e021_weData);//WeData����
		}
		if (o_leaderTargetPosi != null) {
			binaryWriter.Write(82);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_leaderTargetPosi, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 26:
					o_liveRadius = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 27:
					o_leaderLiveRadius = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 64:
					o_employerMoveSpeed = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 66:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 77:
					o_monsterNest = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 78:
					o_monsterChief = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 82:
					o_leaderTargetPosi = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Vector3, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.EventTask.N_Patrol.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &26=" + this.o_liveRadius;//--活动半径-Float
		str = str + "  &27=" + this.o_leaderLiveRadius;//--领导活动半径,Float
		str = str + "  &64=" + this.o_employerMoveSpeed;//--雇主移动速度,Float
		str = str + "  &66=" + this.o_employer;//--雇主,Obj
		str = str + "  &77=" + this.o_monsterNest;//--怪物巢穴-Obj
		str = str + "  &78=" + this.o_monsterChief;//--怪物首领-Obj
		str = str + "  &82=" + this.o_leaderTargetPosi;//--目标位置-Vector3
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 26:
						this.o_liveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 27:
						this.o_leaderLiveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 64:
						this.o_employerMoveSpeed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 66:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 77:
						this.o_monsterNest = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 78:
						this.o_monsterChief = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 82:
						this.o_leaderTargetPosi = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_Patrol_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"26" : new CSUtils.AField(26, "U3dGame.Part.BehaviorTree.Variable.M_Float", "活动半径-Float", "", "o_liveRadius", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Patrol"),
		"27" : new CSUtils.AField(27, "U3dGame.Part.BehaviorTree.Variable.M_Float", "领导活动半径,Float", "", "o_leaderLiveRadius", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Patrol"),
		"64" : new CSUtils.AField(64, "U3dGame.Part.BehaviorTree.Variable.M_Float", "雇主移动速度,Float", "", "o_employerMoveSpeed", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Patrol"),
		"66" : new CSUtils.AField(66, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Patrol"),
		"77" : new CSUtils.AField(77, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "怪物巢穴-Obj", "", "o_monsterNest", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Patrol"),
		"78" : new CSUtils.AField(78, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "怪物首领-Obj", "", "o_monsterChief", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Patrol"),
		"82" : new CSUtils.AField(82, "U3dGame.Part.BehaviorTree.Variable.M_Vector3", "目标位置-Vector3", "", "o_leaderTargetPosi", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Patrol"),
	},
}

//--------10_08_006_006----
//----N.播放动画--
CComposite.Part.N_PlayAnimation = function(){}
CComposite.Part.N_PlayAnimation.prototype = {
	get m_className() {return "N_PlayAnimation";},
	get m_typeId() {return "10_08_006_006";},
	get m_typeTag() {return "N.播放动画";},
	get m_fieldArr() {return CComposite.Part.N_PlayAnimation_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_employer: null,//M_Obj----雇主,Obj----
	o_RunAnimType: null,//M_Int----动画类型,Int----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 64:
				return o_employer;
			case 70:
				return o_RunAnimType;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 64:
				o_employer = obj;
				break;
			case 70:
				o_RunAnimType = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_employer != null) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_RunAnimType != null) {
			binaryWriter.Write(70);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_RunAnimType, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 64:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 70:
					o_RunAnimType = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Int, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.EventTask.N_PlayAnimation.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &64=" + this.o_employer;//--雇主,Obj
		str = str + "  &70=" + this.o_RunAnimType;//--动画类型,Int
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 64:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 70:
						this.o_RunAnimType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_PlayAnimation_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"64" : new CSUtils.AField(64, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_PlayAnimation"),
		"70" : new CSUtils.AField(70, "U3dGame.Part.BehaviorTree.Variable.M_Int", "动画类型,Int", "", "o_RunAnimType", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_PlayAnimation"),
	},
}

//--------10_08_006_004----
//----N.追击--
CComposite.Part.N_Pursuit = function(){}
CComposite.Part.N_Pursuit.prototype = {
	get m_className() {return "N_Pursuit";},
	get m_typeId() {return "10_08_006_004";},
	get m_typeTag() {return "N.追击";},
	get m_fieldArr() {return CComposite.Part.N_Pursuit_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_employerMoveSpeed: null,//M_Float----雇主移动速度,Float----
	o_employer: null,//M_Obj----雇主,Obj----
	o_targetEnemy: null,//M_Obj----目标敌人,Obj----
	o_AttackDistance: null,//M_Float----攻击距离,Float----
	o_PursuitPatienceTime: null,//M_Float----追击目标耐心值----
	o_monsterNest: null,//M_Obj----怪物巢穴-Obj----
	o_monsterChief: null,//M_Obj----怪物首领-Obj----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 66:
				return o_employerMoveSpeed;
			case 67:
				return o_employer;
			case 68:
				return o_targetEnemy;
			case 70:
				return o_AttackDistance;
			case 73:
				return o_PursuitPatienceTime;
			case 77:
				return o_monsterNest;
			case 78:
				return o_monsterChief;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 66:
				o_employerMoveSpeed = obj;
				break;
			case 67:
				o_employer = obj;
				break;
			case 68:
				o_targetEnemy = obj;
				break;
			case 70:
				o_AttackDistance = obj;
				break;
			case 73:
				o_PursuitPatienceTime = obj;
				break;
			case 77:
				o_monsterNest = obj;
				break;
			case 78:
				o_monsterChief = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_employerMoveSpeed != null) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employerMoveSpeed, EBaseType.e021_weData);//WeData����
		}
		if (o_employer != null) {
			binaryWriter.Write(67);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_targetEnemy != null) {
			binaryWriter.Write(68);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_targetEnemy, EBaseType.e021_weData);//WeData����
		}
		if (o_AttackDistance != null) {
			binaryWriter.Write(70);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_AttackDistance, EBaseType.e021_weData);//WeData����
		}
		if (o_PursuitPatienceTime != null) {
			binaryWriter.Write(73);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_PursuitPatienceTime, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterNest != null) {
			binaryWriter.Write(77);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterNest, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterChief != null) {
			binaryWriter.Write(78);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterChief, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 66:
					o_employerMoveSpeed = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 67:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 68:
					o_targetEnemy = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 70:
					o_AttackDistance = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 73:
					o_PursuitPatienceTime = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 77:
					o_monsterNest = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 78:
					o_monsterChief = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.EventTask.N_Pursuit.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &66=" + this.o_employerMoveSpeed;//--雇主移动速度,Float
		str = str + "  &67=" + this.o_employer;//--雇主,Obj
		str = str + "  &68=" + this.o_targetEnemy;//--目标敌人,Obj
		str = str + "  &70=" + this.o_AttackDistance;//--攻击距离,Float
		str = str + "  &73=" + this.o_PursuitPatienceTime;//--追击目标耐心值
		str = str + "  &77=" + this.o_monsterNest;//--怪物巢穴-Obj
		str = str + "  &78=" + this.o_monsterChief;//--怪物首领-Obj
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 66:
						this.o_employerMoveSpeed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 67:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 68:
						this.o_targetEnemy = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 70:
						this.o_AttackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 73:
						this.o_PursuitPatienceTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 77:
						this.o_monsterNest = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 78:
						this.o_monsterChief = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_Pursuit_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"66" : new CSUtils.AField(66, "U3dGame.Part.BehaviorTree.Variable.M_Float", "雇主移动速度,Float", "", "o_employerMoveSpeed", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Pursuit"),
		"67" : new CSUtils.AField(67, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Pursuit"),
		"68" : new CSUtils.AField(68, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "目标敌人,Obj", "", "o_targetEnemy", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Pursuit"),
		"70" : new CSUtils.AField(70, "U3dGame.Part.BehaviorTree.Variable.M_Float", "攻击距离,Float", "", "o_AttackDistance", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Pursuit"),
		"73" : new CSUtils.AField(73, "U3dGame.Part.BehaviorTree.Variable.M_Float", "追击目标耐心值", "", "o_PursuitPatienceTime", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Pursuit"),
		"77" : new CSUtils.AField(77, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "怪物巢穴-Obj", "", "o_monsterNest", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Pursuit"),
		"78" : new CSUtils.AField(78, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "怪物首领-Obj", "", "o_monsterChief", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_Pursuit"),
	},
}

//--------10_08_006_005----
//----N.搜索监听敌人--
CComposite.Part.N_SearchListenerEnemy = function(){}
CComposite.Part.N_SearchListenerEnemy.prototype = {
	get m_className() {return "N_SearchListenerEnemy";},
	get m_typeId() {return "10_08_006_005";},
	get m_typeTag() {return "N.搜索监听敌人";},
	get m_fieldArr() {return CComposite.Part.N_SearchListenerEnemy_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_employer: null,//M_Obj----雇主,Obj----
	o_searchRadius: null,//M_Float----搜索半径,Float----
	o_targetEnemy: null,//M_Obj----目标敌人,Obj----
	o_monsterNest: null,//M_Obj----怪物巢穴-Obj----
	o_monsterChief: null,//M_Obj----怪物首领-Obj----
	o_leaderTargetPosi: null,//M_Vector3----目标位置-Vector3----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 64:
				return o_employer;
			case 66:
				return o_searchRadius;
			case 68:
				return o_targetEnemy;
			case 77:
				return o_monsterNest;
			case 78:
				return o_monsterChief;
			case 82:
				return o_leaderTargetPosi;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 64:
				o_employer = obj;
				break;
			case 66:
				o_searchRadius = obj;
				break;
			case 68:
				o_targetEnemy = obj;
				break;
			case 77:
				o_monsterNest = obj;
				break;
			case 78:
				o_monsterChief = obj;
				break;
			case 82:
				o_leaderTargetPosi = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_employer != null) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_searchRadius != null) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_searchRadius, EBaseType.e021_weData);//WeData����
		}
		if (o_targetEnemy != null) {
			binaryWriter.Write(68);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_targetEnemy, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterNest != null) {
			binaryWriter.Write(77);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterNest, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterChief != null) {
			binaryWriter.Write(78);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterChief, EBaseType.e021_weData);//WeData����
		}
		if (o_leaderTargetPosi != null) {
			binaryWriter.Write(82);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_leaderTargetPosi, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 64:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 66:
					o_searchRadius = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 68:
					o_targetEnemy = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 77:
					o_monsterNest = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 78:
					o_monsterChief = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 82:
					o_leaderTargetPosi = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Vector3, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.EventTask.N_SearchListenerEnemy.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &64=" + this.o_employer;//--雇主,Obj
		str = str + "  &66=" + this.o_searchRadius;//--搜索半径,Float
		str = str + "  &68=" + this.o_targetEnemy;//--目标敌人,Obj
		str = str + "  &77=" + this.o_monsterNest;//--怪物巢穴-Obj
		str = str + "  &78=" + this.o_monsterChief;//--怪物首领-Obj
		str = str + "  &82=" + this.o_leaderTargetPosi;//--目标位置-Vector3
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 64:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 66:
						this.o_searchRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 68:
						this.o_targetEnemy = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 77:
						this.o_monsterNest = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 78:
						this.o_monsterChief = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 82:
						this.o_leaderTargetPosi = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_SearchListenerEnemy_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"64" : new CSUtils.AField(64, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_SearchListenerEnemy"),
		"66" : new CSUtils.AField(66, "U3dGame.Part.BehaviorTree.Variable.M_Float", "搜索半径,Float", "", "o_searchRadius", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_SearchListenerEnemy"),
		"68" : new CSUtils.AField(68, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "目标敌人,Obj", "", "o_targetEnemy", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_SearchListenerEnemy"),
		"77" : new CSUtils.AField(77, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "怪物巢穴-Obj", "", "o_monsterNest", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_SearchListenerEnemy"),
		"78" : new CSUtils.AField(78, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "怪物首领-Obj", "", "o_monsterChief", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_SearchListenerEnemy"),
		"82" : new CSUtils.AField(82, "U3dGame.Part.BehaviorTree.Variable.M_Vector3", "目标位置-Vector3", "", "o_leaderTargetPosi", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.EventTask.N_SearchListenerEnemy"),
	},
}

//--------10_08_005_001----
//----N.怪物群组--
CComposite.Part.N_MonsterGroup = function(){}
CComposite.Part.N_MonsterGroup.prototype = {
	get m_className() {return "N_MonsterGroup";},
	get m_typeId() {return "10_08_005_001";},
	get m_typeTag() {return "N.怪物群组";},
	get m_fieldArr() {return CComposite.Part.N_MonsterGroup_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_subNode: null,//I_Node----子节点----
	o_employer: null,//M_Obj----雇主,Obj----
	o_monsterGroupId: null,//M_Int----怪物群组Id-Int----
	o_monsterNest: null,//M_Obj----怪物巢穴-Obj----
	o_monsterChief: null,//M_Obj----怪物首领-Obj----
	o_targetEnemy: null,//M_Obj----目标敌人,Obj----
	o_leaderTargetPosi: null,//M_Vector3----目标位置-Vector3----
	o_liveRadius: null,//M_Float----活动半径-Float----
	o_leaderLiveRadius: null,//M_Float----领导活动半径,Float----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 67:
				return o_subNode;
			case 105:
				return o_employer;
			case 106:
				return o_monsterGroupId;
			case 107:
				return o_monsterNest;
			case 108:
				return o_monsterChief;
			case 109:
				return o_targetEnemy;
			case 122:
				return o_leaderTargetPosi;
			case 126:
				return o_liveRadius;
			case 127:
				return o_leaderLiveRadius;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 67:
				o_subNode = obj;
				break;
			case 105:
				o_employer = obj;
				break;
			case 106:
				o_monsterGroupId = obj;
				break;
			case 107:
				o_monsterNest = obj;
				break;
			case 108:
				o_monsterChief = obj;
				break;
			case 109:
				o_targetEnemy = obj;
				break;
			case 122:
				o_leaderTargetPosi = obj;
				break;
			case 126:
				o_liveRadius = obj;
				break;
			case 127:
				o_leaderLiveRadius = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_subNode != null) {
			binaryWriter.Write(67);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_subNode, EBaseType.e021_weData);//WeData����
		}
		if (o_employer != null) {
			binaryWriter.Write(105);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterGroupId != null) {
			binaryWriter.Write(106);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterGroupId, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterNest != null) {
			binaryWriter.Write(107);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterNest, EBaseType.e021_weData);//WeData����
		}
		if (o_monsterChief != null) {
			binaryWriter.Write(108);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_monsterChief, EBaseType.e021_weData);//WeData����
		}
		if (o_targetEnemy != null) {
			binaryWriter.Write(109);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_targetEnemy, EBaseType.e021_weData);//WeData����
		}
		if (o_leaderTargetPosi != null) {
			binaryWriter.Write(122);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_leaderTargetPosi, EBaseType.e021_weData);//WeData����
		}
		if (o_liveRadius != null) {
			binaryWriter.Write(126);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_liveRadius, EBaseType.e021_weData);//WeData����
		}
		if (o_leaderLiveRadius != null) {
			binaryWriter.Write(127);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_leaderLiveRadius, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 67:
					o_subNode = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.I_Node, uintObjDic);
					break;
				case 105:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 106:
					o_monsterGroupId = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Int, uintObjDic);
					break;
				case 107:
					o_monsterNest = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 108:
					o_monsterChief = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 109:
					o_targetEnemy = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 122:
					o_leaderTargetPosi = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Vector3, uintObjDic);
					break;
				case 126:
					o_liveRadius = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				case 127:
					o_leaderLiveRadius = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &67=" + this.o_subNode;//--子节点
		str = str + "  &105=" + this.o_employer;//--雇主,Obj
		str = str + "  &106=" + this.o_monsterGroupId;//--怪物群组Id-Int
		str = str + "  &107=" + this.o_monsterNest;//--怪物巢穴-Obj
		str = str + "  &108=" + this.o_monsterChief;//--怪物首领-Obj
		str = str + "  &109=" + this.o_targetEnemy;//--目标敌人,Obj
		str = str + "  &122=" + this.o_leaderTargetPosi;//--目标位置-Vector3
		str = str + "  &126=" + this.o_liveRadius;//--活动半径-Float
		str = str + "  &127=" + this.o_leaderLiveRadius;//--领导活动半径,Float
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 67:
						this.o_subNode = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 105:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 106:
						this.o_monsterGroupId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 107:
						this.o_monsterNest = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 108:
						this.o_monsterChief = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 109:
						this.o_targetEnemy = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 122:
						this.o_leaderTargetPosi = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 126:
						this.o_liveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 127:
						this.o_leaderLiveRadius = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_MonsterGroup_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"67" : new CSUtils.AField(67, "U3dGame.Part.BehaviorTree.I_Node", "子节点", "", "o_subNode", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_Modify"),
		"105" : new CSUtils.AField(105, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup"),
		"106" : new CSUtils.AField(106, "U3dGame.Part.BehaviorTree.Variable.M_Int", "怪物群组Id-Int", "", "o_monsterGroupId", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup"),
		"107" : new CSUtils.AField(107, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "怪物巢穴-Obj", "", "o_monsterNest", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup"),
		"108" : new CSUtils.AField(108, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "怪物首领-Obj", "", "o_monsterChief", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup"),
		"109" : new CSUtils.AField(109, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "目标敌人,Obj", "", "o_targetEnemy", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup"),
		"122" : new CSUtils.AField(122, "U3dGame.Part.BehaviorTree.Variable.M_Vector3", "目标位置-Vector3", "", "o_leaderTargetPosi", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup"),
		"126" : new CSUtils.AField(126, "U3dGame.Part.BehaviorTree.Variable.M_Float", "活动半径-Float", "", "o_liveRadius", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup"),
		"127" : new CSUtils.AField(127, "U3dGame.Part.BehaviorTree.Variable.M_Float", "领导活动半径,Float", "", "o_leaderLiveRadius", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Modify.N_MonsterGroup"),
	},
}

//--------10_08_004_001----
//----N.是否能攻击--
CComposite.Part.N_IsCanAttack = function(){}
CComposite.Part.N_IsCanAttack.prototype = {
	get m_className() {return "N_IsCanAttack";},
	get m_typeId() {return "10_08_004_001";},
	get m_typeTag() {return "N.是否能攻击";},
	get m_fieldArr() {return CComposite.Part.N_IsCanAttack_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_employer: null,//M_Obj----雇主,Obj----
	o_targetEnemy: null,//M_Obj----目标敌人,Obj----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 66:
				return o_employer;
			case 68:
				return o_targetEnemy;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 66:
				o_employer = obj;
				break;
			case 68:
				o_targetEnemy = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_employer != null) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_targetEnemy != null) {
			binaryWriter.Write(68);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_targetEnemy, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 66:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 68:
					o_targetEnemy = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.JudgeConditionTask.N_IsCanAttack.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &66=" + this.o_employer;//--雇主,Obj
		str = str + "  &68=" + this.o_targetEnemy;//--目标敌人,Obj
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 66:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 68:
						this.o_targetEnemy = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_IsCanAttack_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"66" : new CSUtils.AField(66, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.JudgeConditionTask.N_IsCanAttack"),
		"68" : new CSUtils.AField(68, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "目标敌人,Obj", "", "o_targetEnemy", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.JudgeConditionTask.N_IsCanAttack"),
	},
}

//--------10_08_004_002----
//----N.是否进入攻击距离--
CComposite.Part.N_IsEnterAttackDistance = function(){}
CComposite.Part.N_IsEnterAttackDistance.prototype = {
	get m_className() {return "N_IsEnterAttackDistance";},
	get m_typeId() {return "10_08_004_002";},
	get m_typeTag() {return "N.是否进入攻击距离";},
	get m_fieldArr() {return CComposite.Part.N_IsEnterAttackDistance_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_employer: null,//M_Obj----雇主,Obj----
	o_targetEnemy: null,//M_Obj----目标敌人,Obj----
	o_AttackDistance: null,//M_Float----攻击距离,Float----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 66:
				return o_employer;
			case 68:
				return o_targetEnemy;
			case 70:
				return o_AttackDistance;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 66:
				o_employer = obj;
				break;
			case 68:
				o_targetEnemy = obj;
				break;
			case 70:
				o_AttackDistance = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_employer != null) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_employer, EBaseType.e021_weData);//WeData����
		}
		if (o_targetEnemy != null) {
			binaryWriter.Write(68);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_targetEnemy, EBaseType.e021_weData);//WeData����
		}
		if (o_AttackDistance != null) {
			binaryWriter.Write(70);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_AttackDistance, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 66:
					o_employer = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 68:
					o_targetEnemy = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 70:
					o_AttackDistance = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Float, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.JudgeConditionTask.N_IsEnterAttackDistance.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &66=" + this.o_employer;//--雇主,Obj
		str = str + "  &68=" + this.o_targetEnemy;//--目标敌人,Obj
		str = str + "  &70=" + this.o_AttackDistance;//--攻击距离,Float
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 66:
						this.o_employer = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 68:
						this.o_targetEnemy = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 70:
						this.o_AttackDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_IsEnterAttackDistance_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"66" : new CSUtils.AField(66, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "雇主,Obj", "", "o_employer", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.JudgeConditionTask.N_IsEnterAttackDistance"),
		"68" : new CSUtils.AField(68, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "目标敌人,Obj", "", "o_targetEnemy", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.JudgeConditionTask.N_IsEnterAttackDistance"),
		"70" : new CSUtils.AField(70, "U3dGame.Part.BehaviorTree.Variable.M_Float", "攻击距离,Float", "", "o_AttackDistance", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.JudgeConditionTask.N_IsEnterAttackDistance"),
	},
}

//--------10_08_004_003----
//----N.Obj是否存活--
CComposite.Part.N_ObjIsAlive = function(){}
CComposite.Part.N_ObjIsAlive.prototype = {
	get m_className() {return "N_ObjIsAlive";},
	get m_typeId() {return "10_08_004_003";},
	get m_typeTag() {return "N.Obj是否存活";},
	get m_fieldArr() {return CComposite.Part.N_ObjIsAlive_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_obj: null,//M_Obj----角色----
	o_deathIsClearObj: null,//M_Bool----角色死亡是否清除----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 66:
				return o_obj;
			case 68:
				return o_deathIsClearObj;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 66:
				o_obj = obj;
				break;
			case 68:
				o_deathIsClearObj = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_obj != null) {
			binaryWriter.Write(66);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_obj, EBaseType.e021_weData);//WeData����
		}
		if (o_deathIsClearObj != null) {
			binaryWriter.Write(68);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_deathIsClearObj, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 66:
					o_obj = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Obj, uintObjDic);
					break;
				case 68:
					o_deathIsClearObj = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.Variable.M_Bool, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.JudgeConditionTask.N_ObjIsAlive.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &66=" + this.o_obj;//--角色
		str = str + "  &68=" + this.o_deathIsClearObj;//--角色死亡是否清除
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 66:
						this.o_obj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 68:
						this.o_deathIsClearObj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_ObjIsAlive_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"66" : new CSUtils.AField(66, "U3dGame.Part.BehaviorTree.Variable.M_Obj", "角色", "", "o_obj", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.JudgeConditionTask.N_ObjIsAlive"),
		"68" : new CSUtils.AField(68, "U3dGame.Part.BehaviorTree.Variable.M_Bool", "角色死亡是否清除", "", "o_deathIsClearObj", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.JudgeConditionTask.N_ObjIsAlive"),
	},
}

//--------10_08_003_001----
//----N.循环--
CComposite.Part.N_For = function(){}
CComposite.Part.N_For.prototype = {
	get m_className() {return "N_For";},
	get m_typeId() {return "10_08_003_001";},
	get m_typeTag() {return "N.循环";},
	get m_fieldArr() {return CComposite.Part.N_For_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	m_subNodes: {},//I_Node[]----子节点----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 64:
				return m_subNodes;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 64:
				m_subNodes = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (m_subNodes != null && m_subNodes.Length > 0) {
			binaryWriter.Write(64);//�ֶ�����
			binaryWriter.S_WriteByteArray(m_subNodes, EBaseType.e021_weData);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 64:
					m_subNodes = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.Part.BehaviorTree.I_Node, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.LogicTask.N_For.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &64=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.m_subNodes, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 64:
						this.m_subNodes = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.Part.BehaviorTree.I_Node
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_For_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"64" : new CSUtils.AField(64, "U3dGame.Part.BehaviorTree.I_Node[]", "子节点", "", "m_subNodes", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.LogicTask.N_For"),
	},
}

//--------10_08_003_002----
//----N.判断--
CComposite.Part.N_If = function(){}
CComposite.Part.N_If.prototype = {
	get m_className() {return "N_If";},
	get m_typeId() {return "10_08_003_002";},
	get m_typeTag() {return "N.判断";},
	get m_fieldArr() {return CComposite.Part.N_If_dic.m_fieldArr;},
	_instanceId : 0,

	_id: 0,//Int32----id----
	o_name: "",//String----名字----
	o_explain: "",//String----说明----
	o_FailNode: null,//I_Node----失败----
	o_conditionNode: null,//C_JudgeConditionNode----条件----
	o_SuccessNode: null,//I_Node----成功----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return _id;
			case 5:
				return o_name;
			case 6:
				return o_explain;
			case 10:
				return o_FailNode;
			case 65:
				return o_conditionNode;
			case 67:
				return o_SuccessNode;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				_id = obj;
				break;
			case 5:
				o_name = obj;
				break;
			case 6:
				o_explain = obj;
				break;
			case 10:
				o_FailNode = obj;
				break;
			case 65:
				o_conditionNode = obj;
				break;
			case 67:
				o_SuccessNode = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_id != 0) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.Write(_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		if (o_FailNode != null) {
			binaryWriter.Write(10);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_FailNode, EBaseType.e021_weData);//WeData����
		}
		if (o_conditionNode != null) {
			binaryWriter.Write(65);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_conditionNode, EBaseType.e021_weData);//WeData����
		}
		if (o_SuccessNode != null) {
			binaryWriter.Write(67);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_SuccessNode, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
					_id = binaryReader.ReadInt32();
					break;
				case 5:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 10:
					o_FailNode = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.I_Node, uintObjDic);
					break;
				case 65:
					o_conditionNode = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.JudgeConditionTask.C_JudgeConditionNode, uintObjDic);
					break;
				case 67:
					o_SuccessNode = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.Part.BehaviorTree.I_Node, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.LogicTask.N_If.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this._id;//--id
		str = str + "  &5=" + this.o_name;//--名字
		str = str + "  &6=" + this.o_explain;//--说明
		str = str + "  &10=" + this.o_FailNode;//--失败
		str = str + "  &65=" + this.o_conditionNode;//--条件
		str = str + "  &67=" + this.o_SuccessNode;//--成功
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this._id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 5:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 10:
						this.o_FailNode = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 65:
						this.o_conditionNode = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 67:
						this.o_SuccessNode = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.N_If_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "System.Int32", "id", "", "_id", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"5" : new CSUtils.AField(5, "System.String", "名字", "", "o_name", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"6" : new CSUtils.AField(6, "System.String", "说明", "", "o_explain", 1, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.I_Node"),
		"10" : new CSUtils.AField(10, "U3dGame.Part.BehaviorTree.I_Node", "失败", "", "o_FailNode", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.LogicTask.N_If"),
		"65" : new CSUtils.AField(65, "U3dGame.Part.BehaviorTree.JudgeConditionTask.C_JudgeConditionNode", "条件", "", "o_conditionNode", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.LogicTask.N_If"),
		"67" : new CSUtils.AField(67, "U3dGame.Part.BehaviorTree.I_Node", "成功", "", "o_SuccessNode", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.LogicTask.N_If"),
	},
}

//--------10_08_002_000----
//----M.bool--
CComposite.Part.M_Bool = function(){}
CComposite.Part.M_Bool.prototype = {
	get m_className() {return "M_Bool";},
	get m_typeId() {return "10_08_002_000";},
	get m_typeTag() {return "M.bool";},
	get m_fieldArr() {return CComposite.Part.M_Bool_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: false,
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != false) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.Write(o_value);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.ReadBoolean();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Bool.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + this.o_value;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Bool_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.Boolean", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Bool"),
	},
}

//--------10_08_002_100----
//----M.bools--
CComposite.Part.M_Bools = function(){}
CComposite.Part.M_Bools.prototype = {
	get m_className() {return "M_Bools";},
	get m_typeId() {return "10_08_002_100";},
	get m_typeTag() {return "M.bools";},
	get m_fieldArr() {return CComposite.Part.M_Bools_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {},//Boolean[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value.Length > 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_value, EBaseType.e001_bool);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.S_ReadByteArray(EBaseType.e001_bool, System.Boolean, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Bools.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_value, EBaseType.e018_array, EBaseType.e001_bool);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e001_bool, uintObjDic); //System.Boolean
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Bools_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.Boolean[]", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Bools"),
	},
}

//--------10_08_002_001----
//----M.float--
CComposite.Part.M_Float = function(){}
CComposite.Part.M_Float.prototype = {
	get m_className() {return "M_Float";},
	get m_typeId() {return "10_08_002_001";},
	get m_typeTag() {return "M.float";},
	get m_fieldArr() {return CComposite.Part.M_Float_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: 0,//Single--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.Write(o_value);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
				o_value = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Float.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + this.o_value;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Float_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.Single", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Float"),
	},
}

//--------10_08_002_101----
//----M.Floats--
CComposite.Part.M_Floats = function(){}
CComposite.Part.M_Floats.prototype = {
	get m_className() {return "M_Floats";},
	get m_typeId() {return "10_08_002_101";},
	get m_typeTag() {return "M.Floats";},
	get m_fieldArr() {return CComposite.Part.M_Floats_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {},//Single[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value.Length > 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_value, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Floats.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_value, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Floats_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.Single[]", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Floats"),
	},
}

//--------10_08_002_007----
//----M.GameObject--
CComposite.Part.M_GameObject = function(){}
CComposite.Part.M_GameObject.prototype = {
	get m_className() {return "M_GameObject";},
	get m_typeId() {return "10_08_002_007";},
	get m_typeTag() {return "M.GameObject";},
	get m_fieldArr() {return CComposite.Part.M_GameObject_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_GameObject.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_GameObject_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
	},
}

//--------10_08_002_107----
//----M.GameObjects--
CComposite.Part.M_GameObjects = function(){}
CComposite.Part.M_GameObjects.prototype = {
	get m_className() {return "M_GameObjects";},
	get m_typeId() {return "10_08_002_107";},
	get m_typeTag() {return "M.GameObjects";},
	get m_fieldArr() {return CComposite.Part.M_GameObjects_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_GameObjects.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_GameObjects_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
	},
}

//--------10_08_002_003----
//----M.int--
CComposite.Part.M_Int = function(){}
CComposite.Part.M_Int.prototype = {
	get m_className() {return "M_Int";},
	get m_typeId() {return "10_08_002_003";},
	get m_typeTag() {return "M.int";},
	get m_fieldArr() {return CComposite.Part.M_Int_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.Write(o_value);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Int.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + this.o_value;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Int_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.Int32", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Int"),
	},
}

//--------10_08_002_103----
//----M.Ints--
CComposite.Part.M_Ints = function(){}
CComposite.Part.M_Ints.prototype = {
	get m_className() {return "M_Ints";},
	get m_typeId() {return "10_08_002_103";},
	get m_typeTag() {return "M.Ints";},
	get m_fieldArr() {return CComposite.Part.M_Ints_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {},//Int32[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value.Length > 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_value, EBaseType.e006_int);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Ints.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_value, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Ints_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.Int32[]", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Ints"),
	},
}

//--------10_08_002_004----
//----M.Int4--
CComposite.Part.M_Int4 = function(){}
CComposite.Part.M_Int4.prototype = {
	get m_className() {return "M_Int4";},
	get m_typeId() {return "10_08_002_004";},
	get m_typeTag() {return "M.Int4";},
	get m_fieldArr() {return CComposite.Part.M_Int4_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {a:0,b:0,c:0,d:0},//CInt4--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value != CInt4.zero) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_value, EBaseType.e014_Int4);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
				o_value = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Int4.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + this.o_value;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Int4_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "CSUtilss.CInt4", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Int4"),
	},
}

//--------10_08_002_104----
//----M.Int4s--
CComposite.Part.M_Int4s = function(){}
CComposite.Part.M_Int4s.prototype = {
	get m_className() {return "M_Int4s";},
	get m_typeId() {return "10_08_002_104";},
	get m_typeTag() {return "M.Int4s";},
	get m_fieldArr() {return CComposite.Part.M_Int4s_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {},//CInt4[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value.Length > 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_value, EBaseType.e014_Int4);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Int4s.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_value, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Int4s_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "CSUtilss.CInt4[]", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Int4s"),
	},
}

//--------10_08_002_005----
//----M.C_Obj--
CComposite.Part.M_Obj = function(){}
CComposite.Part.M_Obj.prototype = {
	get m_className() {return "M_Obj";},
	get m_typeId() {return "10_08_002_005";},
	get m_typeTag() {return "M.C_Obj";},
	get m_fieldArr() {return CComposite.Part.M_Obj_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {a:0,b:0,c:0,d:0},//CInt4--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value != CInt4.zero) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_value, EBaseType.e014_Int4);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
				o_value = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Obj.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + this.o_value;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Obj_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "CSUtilss.CInt4", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Obj"),
	},
}

//--------10_08_002_105----
//----M.Objs--
CComposite.Part.M_Objs = function(){}
CComposite.Part.M_Objs.prototype = {
	get m_className() {return "M_Objs";},
	get m_typeId() {return "10_08_002_105";},
	get m_typeTag() {return "M.Objs";},
	get m_fieldArr() {return CComposite.Part.M_Objs_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {},//CInt4[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value.Length > 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_value, EBaseType.e014_Int4);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Objs.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_value, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Objs_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "CSUtilss.CInt4[]", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Objs"),
	},
}

//--------10_08_002_008----
//----M.String--
CComposite.Part.M_String = function(){}
CComposite.Part.M_String.prototype = {
	get m_className() {return "M_String";},
	get m_typeId() {return "10_08_002_008";},
	get m_typeTag() {return "M.String";},
	get m_fieldArr() {return CComposite.Part.M_String_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: "",//String--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_value) == false) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_value, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
				o_value = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_String.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + this.o_value;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_String_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.String", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_String"),
	},
}

//--------10_08_002_108----
//----M.Strings--
CComposite.Part.M_Strings = function(){}
CComposite.Part.M_Strings.prototype = {
	get m_className() {return "M_Strings";},
	get m_typeId() {return "10_08_002_108";},
	get m_typeTag() {return "M.Strings";},
	get m_fieldArr() {return CComposite.Part.M_Strings_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {},//String[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value.Length > 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_value, EBaseType.e012_string);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Strings.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_value, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Strings_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.String[]", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Strings"),
	},
}

//--------10_08_002_006----
//----M.Vector3--
CComposite.Part.M_Vector3 = function(){}
CComposite.Part.M_Vector3.prototype = {
	get m_className() {return "M_Vector3";},
	get m_typeId() {return "10_08_002_006";},
	get m_typeTag() {return "M.Vector3";},
	get m_fieldArr() {return CComposite.Part.M_Vector3_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {},//Single[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value.Length > 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_value, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Vector3.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_value, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Vector3_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.Single[]", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Vector3"),
	},
}

//--------10_08_002_106----
//----M.Vector3s--
CComposite.Part.M_Vector3s = function(){}
CComposite.Part.M_Vector3s.prototype = {
	get m_className() {return "M_Vector3s";},
	get m_typeId() {return "10_08_002_106";},
	get m_typeTag() {return "M.Vector3s";},
	get m_fieldArr() {return CComposite.Part.M_Vector3s_dic.m_fieldArr;},
	_instanceId : 0,

	o_id: 0,//Int32----字段Id----
	o_name: "",//String----字段名字----
	o_value: {},//Single[][]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 6:
				return o_id;
			case 7:
				return o_name;
			case 90:
				return o_value;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 6:
				o_id = obj;
				break;
			case 7:
				o_name = obj;
				break;
			case 90:
				o_value = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_id != 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.Write(o_id);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_value != null && o_value.Length > 0) {
			binaryWriter.Write(90);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_value, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 6:
					o_id = binaryReader.ReadInt32();
					break;
				case 7:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 90:
					o_value = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.BehaviorTree.Variable.M_Vector3s.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &6=" + this.o_id;//--字段Id
		str = str + "  &7=" + this.o_name;//--字段名字
		str = str + "  &90=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_value, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 6:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 7:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 90:
						this.o_value = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.M_Vector3s_dic = { 
	"m_fieldArr" : {
		"6" : new CSUtils.AField(6, "System.Int32", "字段Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"7" : new CSUtils.AField(7, "System.String", "字段名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.I_Value"),
		"90" : new CSUtils.AField(90, "System.Single[][]", "", "", "o_value", 3, "0", "100", null, 0, "U3dGame.Part.BehaviorTree.Variable.M_Vector3s"),
	},
}

//--------10_08_011_005----
//----2d动作列表--
CComposite.Part.C2DAnimList = function(){}
CComposite.Part.C2DAnimList.prototype = {
	get m_className() {return "C2DAnimList";},
	get m_typeId() {return "10_08_011_005";},
	get m_typeTag() {return "2d动作列表";},
	get m_fieldArr() {return CComposite.Part.C2DAnimList_dic.m_fieldArr;},
	_instanceId : 0,

	o_animArr: {},//C2DAnim[]----动作列表----
	o_name: "",//String----o_name----
	o_isClearBlackBack: false,
	o_clearBlackBackValue: 0,//Single----黑色背景偏移值----
	o_defAnimName: "",//String----初始默认动画----
	o_defAnimNameIndex: 0,//Int32----默认动画索引----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 60:
				return o_animArr;
			case 72:
				return o_name;
			case 74:
				return o_offect;
			case 77:
				return anim2d_originScale;
			case 78:
				return anim2d_originPosi;
			case 82:
				return o_isClearBlackBack;
			case 83:
				return o_clearBlackBackValue;
			case 123:
				return o_defAnimName;
			case 125:
				return o_defAnimNameIndex;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 60:
				o_animArr = obj;
				break;
			case 72:
				o_name = obj;
				break;
			case 74:
				o_offect = obj;
				break;
			case 77:
				anim2d_originScale = obj;
				break;
			case 78:
				anim2d_originPosi = obj;
				break;
			case 82:
				o_isClearBlackBack = obj;
				break;
			case 83:
				o_clearBlackBackValue = obj;
				break;
			case 123:
				o_defAnimName = obj;
				break;
			case 125:
				o_defAnimNameIndex = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_animArr != null && o_animArr.Length > 0) {
			binaryWriter.Write(60);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_animArr, EBaseType.e021_weData);//����
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(72);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_offect != null) {
			binaryWriter.Write(74);//�ֶ�����
		}
		if (anim2d_originScale != null) {
			binaryWriter.Write(77);//�ֶ�����
		}
		if (anim2d_originPosi != null) {
			binaryWriter.Write(78);//�ֶ�����
		}
		if (o_isClearBlackBack != false) {
			binaryWriter.Write(82);//�ֶ�����
			binaryWriter.Write(o_isClearBlackBack);//ֵ
		}
		if (o_clearBlackBackValue != 0) {
			binaryWriter.Write(83);//�ֶ�����
			binaryWriter.Write(o_clearBlackBackValue);//ֵ
		}
		if (string.IsNullOrEmpty(o_defAnimName) == false) {
			binaryWriter.Write(123);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_defAnimName, EBaseType.e012_string);
		}
		if (o_defAnimNameIndex != 0) {
			binaryWriter.Write(125);//�ֶ�����
			binaryWriter.Write(o_defAnimNameIndex);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 60:
					o_animArr = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.Part.Anim2D.C2DAnim, uintObjDic);
					break;
				case 72:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 74:
					break;
				case 77:
					break;
				case 78:
					break;
				case 82:
					o_isClearBlackBack = binaryReader.ReadBoolean();
					break;
				case 83:
				o_clearBlackBackValue = binaryReader.ReadSingle();
					break;
				case 123:
				o_defAnimName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 125:
					o_defAnimNameIndex = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.Anim2D.C2DAnimList.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &60=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_animArr, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "  &72=" + this.o_name;//--o_name
		str = str + "  &82=" + this.o_isClearBlackBack;//--是否清楚黑色背景
		str = str + "  &83=" + this.o_clearBlackBackValue;//--黑色背景偏移值
		str = str + "  &123=" + this.o_defAnimName;//--初始默认动画
		str = str + "  &125=" + this.o_defAnimNameIndex;//--默认动画索引
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 60:
						this.o_animArr = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.Part.Anim2D.C2DAnim
						break;
					case 72:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 74:
						break;
					case 77:
						break;
					case 78:
						break;
					case 82:
						this.o_isClearBlackBack = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 83:
						this.o_clearBlackBackValue = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 123:
						this.o_defAnimName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 125:
						this.o_defAnimNameIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.C2DAnimList_dic = { 
	"m_fieldArr" : {
		"60" : new CSUtils.AField(60, "U3dGame.Part.Anim2D.C2DAnim[]", "动作列表", "", "o_animArr", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
		"72" : new CSUtils.AField(72, "System.String", "o_name", "", "o_name", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
		"74" : new CSUtils.AField(74, "UnityEngine.Vector2", "o_offect", "", "o_offect", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
		"77" : new CSUtils.AField(77, "UnityEngine.Vector3", "anim2d_originScale", "", "anim2d_originScale", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
		"78" : new CSUtils.AField(78, "UnityEngine.Vector3", "anim2d_originPosi", "", "anim2d_originPosi", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
		"82" : new CSUtils.AField(82, "System.Boolean", "是否清楚黑色背景", "", "o_isClearBlackBack", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
		"83" : new CSUtils.AField(83, "System.Single", "黑色背景偏移值", "", "o_clearBlackBackValue", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
		"123" : new CSUtils.AField(123, "System.String", "初始默认动画", "", "o_defAnimName", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
		"125" : new CSUtils.AField(125, "System.Int32", "默认动画索引", "", "o_defAnimNameIndex", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnimList"),
	},
}

//--------10_08_011_006----
//----2d动作--
CComposite.Part.C2DAnim = function(){}
CComposite.Part.C2DAnim.prototype = {
	get m_className() {return "C2DAnim";},
	get m_typeId() {return "10_08_011_006";},
	get m_typeTag() {return "2d动作";},
	get m_fieldArr() {return CComposite.Part.C2DAnim_dic.m_fieldArr;},
	_instanceId : 0,

	w_showName0: "",//String----w_showName0----
	w_showName: "",//String----w_showName----
	w_isShow: false,
	w_nextAnimNameIndex: 0,//Int32----w_nextAnimNameIndex----
	o_animName: "",//String----o_animName----
	o_nextAnimName: "",//String----o_nextAnimName----
	o_speed: 0,//Single----o_speed----
	o_isPlayback: false,
	o_animIsBreak: false,
	o_animBreakPriority: 0,//Int32----动画打断优先级----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 72:
				return w_showName0;
			case 75:
				return w_showName;
			case 78:
				return w_isShow;
			case 79:
				return w_nextAnimNameIndex;
			case 121:
				return o_animName;
			case 123:
				return o_nextAnimName;
			case 141:
				return o_speed;
			case 144:
				return o_isPlayback;
			case 151:
				return o_animIsBreak;
			case 153:
				return o_animBreakPriority;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 72:
				w_showName0 = obj;
				break;
			case 75:
				w_showName = obj;
				break;
			case 78:
				w_isShow = obj;
				break;
			case 79:
				w_nextAnimNameIndex = obj;
				break;
			case 121:
				o_animName = obj;
				break;
			case 123:
				o_nextAnimName = obj;
				break;
			case 141:
				o_speed = obj;
				break;
			case 144:
				o_isPlayback = obj;
				break;
			case 151:
				o_animIsBreak = obj;
				break;
			case 153:
				o_animBreakPriority = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(w_showName0) == false) {
			binaryWriter.Write(72);//�ֶ�����
			binaryWriter.S_WriteByteObj(w_showName0, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(w_showName) == false) {
			binaryWriter.Write(75);//�ֶ�����
			binaryWriter.S_WriteByteObj(w_showName, EBaseType.e012_string);
		}
		if (w_isShow != false) {
			binaryWriter.Write(78);//�ֶ�����
			binaryWriter.Write(w_isShow);//ֵ
		}
		if (w_nextAnimNameIndex != 0) {
			binaryWriter.Write(79);//�ֶ�����
			binaryWriter.Write(w_nextAnimNameIndex);//ֵ
		}
		if (string.IsNullOrEmpty(o_animName) == false) {
			binaryWriter.Write(121);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_animName, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_nextAnimName) == false) {
			binaryWriter.Write(123);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_nextAnimName, EBaseType.e012_string);
		}
		if (o_speed != 0) {
			binaryWriter.Write(141);//�ֶ�����
			binaryWriter.Write(o_speed);//ֵ
		}
		if (o_isPlayback != false) {
			binaryWriter.Write(144);//�ֶ�����
			binaryWriter.Write(o_isPlayback);//ֵ
		}
		if (o_animIsBreak != false) {
			binaryWriter.Write(151);//�ֶ�����
			binaryWriter.Write(o_animIsBreak);//ֵ
		}
		if (o_animBreakPriority != 0) {
			binaryWriter.Write(153);//�ֶ�����
			binaryWriter.Write(o_animBreakPriority);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 72:
				w_showName0 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 75:
				w_showName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 78:
					w_isShow = binaryReader.ReadBoolean();
					break;
				case 79:
					w_nextAnimNameIndex = binaryReader.ReadInt32();
					break;
				case 121:
				o_animName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 123:
				o_nextAnimName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 141:
				o_speed = binaryReader.ReadSingle();
					break;
				case 144:
					o_isPlayback = binaryReader.ReadBoolean();
					break;
				case 151:
					o_animIsBreak = binaryReader.ReadBoolean();
					break;
				case 153:
					o_animBreakPriority = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Part.Anim2D.C2DAnim.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &72=" + this.w_showName0;//--w_showName0
		str = str + "  &75=" + this.w_showName;//--w_showName
		str = str + "  &78=" + this.w_isShow;//--w_isShow
		str = str + "  &79=" + this.w_nextAnimNameIndex;//--w_nextAnimNameIndex
		str = str + "  &121=" + this.o_animName;//--o_animName
		str = str + "  &123=" + this.o_nextAnimName;//--o_nextAnimName
		str = str + "  &141=" + this.o_speed;//--o_speed
		str = str + "  &144=" + this.o_isPlayback;//--是否倒叙播放
		str = str + "  &151=" + this.o_animIsBreak;//--动画是否能被打断
		str = str + "  &153=" + this.o_animBreakPriority;//--动画打断优先级
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 72:
						this.w_showName0 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 75:
						this.w_showName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 78:
						this.w_isShow = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 79:
						this.w_nextAnimNameIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 121:
						this.o_animName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 123:
						this.o_nextAnimName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 141:
						this.o_speed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 144:
						this.o_isPlayback = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 151:
						this.o_animIsBreak = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 153:
						this.o_animBreakPriority = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.C2DAnim_dic = { 
	"m_fieldArr" : {
		"72" : new CSUtils.AField(72, "System.String", "w_showName0", "", "w_showName0", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"75" : new CSUtils.AField(75, "System.String", "w_showName", "", "w_showName", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"78" : new CSUtils.AField(78, "System.Boolean", "w_isShow", "", "w_isShow", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"79" : new CSUtils.AField(79, "System.Int32", "w_nextAnimNameIndex", "", "w_nextAnimNameIndex", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"121" : new CSUtils.AField(121, "System.String", "o_animName", "", "o_animName", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"123" : new CSUtils.AField(123, "System.String", "o_nextAnimName", "", "o_nextAnimName", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"141" : new CSUtils.AField(141, "System.Single", "o_speed", "", "o_speed", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"144" : new CSUtils.AField(144, "System.Boolean", "是否倒叙播放", "", "o_isPlayback", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"151" : new CSUtils.AField(151, "System.Boolean", "动画是否能被打断", "", "o_animIsBreak", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
		"153" : new CSUtils.AField(153, "System.Int32", "动画打断优先级", "", "o_animBreakPriority", 3, "0", "100", null, 0, "U3dGame.Part.Anim2D.C2DAnim"),
	},
}

//--------10_08_010_012----
//----map--
CComposite.Part.Part_035_InfiniteMap_Data = function(){}
CComposite.Part.Part_035_InfiniteMap_Data.prototype = {
	get m_className() {return "Part_035_InfiniteMap_Data";},
	get m_typeId() {return "10_08_010_012";},
	get m_typeTag() {return "map";},
	get m_fieldArr() {return CComposite.Part.Part_035_InfiniteMap_Data_dic.m_fieldArr;},
	_instanceId : 0,

	o_selectRange: 0,//Single--------
	m_boxData: null,//Map_Box_Data--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 15:
				return o_selectRange;
			case 21:
				return m_boxData;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 15:
				o_selectRange = obj;
				break;
			case 21:
				m_boxData = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_selectRange != 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.Write(o_selectRange);//ֵ
		}
		if (m_boxData != null) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.S_WriteByteObj(m_boxData, EBaseType.e021_weData);//WeData����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 15:
				o_selectRange = binaryReader.ReadSingle();
					break;
				case 21:
					m_boxData = binaryReader.S_ReadByteObj(EBaseType.e021_weData , U3dGame.InfiniteAdaptMap.Map_Box_Data, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.Obj.Part.Part_035_InfiniteMap_Data.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &15=" + this.o_selectRange;//--
		str = str + "  &21=" + this.m_boxData;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 15:
						this.o_selectRange = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 21:
						this.m_boxData = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CComposite.Part.Part_035_InfiniteMap_Data_dic = { 
	"m_fieldArr" : {
		"15" : new CSUtils.AField(15, "System.Single", "", "", "o_selectRange", 3, "0", "100", null, 0, "U3dGame.Obj.Part.Part_035_InfiniteMap_Data"),
		"21" : new CSUtils.AField(21, "U3dGame.InfiniteAdaptMap.Map_Box_Data", "", "", "m_boxData", 3, "0", "100", null, 0, "U3dGame.Obj.Part.Part_035_InfiniteMap_Data"),
	},
}

//--------0_01_015_050----
//----Sync_CreateObj--
CNetwork.Sync_CreateObj = function(){}
CNetwork.Sync_CreateObj.prototype = {
	get m_className() {return "Sync_CreateObj";},
	get m_typeId() {return "0_01_015_050";},
	get m_typeTag() {return "Sync_CreateObj";},
	get m_fieldArr() {return CNetwork.Sync_CreateObj_dic.m_fieldArr;},
	_instanceId : 0,

	o_objDatas: {},//CObjData[]----创建Obj----
	o_isLoadModels: {},//Boolean[]----isloadModel----
	o_setType: 0,//Byte----setType----1=ResetScene,2=AddAndRefreshObj,3=RomoveObj
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 21:
				return o_objDatas;
			case 24:
				return o_isLoadModels;
			case 26:
				return o_setType;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 21:
				o_objDatas = obj;
				break;
			case 24:
				o_isLoadModels = obj;
				break;
			case 26:
				o_setType = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_objDatas != null && o_objDatas.Length > 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_objDatas, EBaseType.e021_weData);//����
		}
		if (o_isLoadModels != null && o_isLoadModels.Length > 0) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_isLoadModels, EBaseType.e001_bool);//����
		}
		if (o_setType != 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.Write(o_setType);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 21:
					o_objDatas = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.CObjData, uintObjDic);
					break;
				case 24:
					o_isLoadModels = binaryReader.S_ReadByteArray(EBaseType.e001_bool, System.Boolean, uintObjDic);
					break;
				case 26:
				o_setType = binaryReader.ReadByte();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_015_ObjRoomTransfer.Sync_CreateObj.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &21=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_objDatas, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "  &24=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_isLoadModels, EBaseType.e018_array, EBaseType.e001_bool);
		str = str + "  &26=" + this.o_setType;//--setType
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 21:
						this.o_objDatas = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.CObjData
						break;
					case 24:
						this.o_isLoadModels = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e001_bool, uintObjDic); //System.Boolean
						break;
					case 26:
						this.o_setType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_CreateObj_dic = { 
	"m_fieldArr" : {
		"21" : new CSUtils.AField(21, "U3dGame.CObjData[]", "创建Obj", "", "o_objDatas", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_CreateObj"),
		"24" : new CSUtils.AField(24, "System.Boolean[]", "isloadModel", "", "o_isLoadModels", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_CreateObj"),
		"26" : new CSUtils.AField(26, "System.Byte", "setType", "1=ResetScene,2=AddAndRefreshObj,3=RomoveObj", "o_setType", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_CreateObj"),
	},
}

//--------0_01_015_070----
//----Sync_SetRebornOrDeath--
CNetwork.Sync_SetRebornOrDeath = function(){}
CNetwork.Sync_SetRebornOrDeath.prototype = {
	get m_className() {return "Sync_SetRebornOrDeath";},
	get m_typeId() {return "0_01_015_070";},
	get m_typeTag() {return "Sync_SetRebornOrDeath";},
	get m_fieldArr() {return CNetwork.Sync_SetRebornOrDeath_dic.m_fieldArr;},
	_instanceId : 0,

	o_objId: {a:0,b:0,c:0,d:0},//CInt4----id----
	o_Objstate: 0,//Byte----Obj状态----
	o_deathType: 0,//Byte----deathType----
	o_deathDuration: 0,//Single----死亡时间----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_objId;
			case 13:
				return o_Objstate;
			case 15:
				return o_deathType;
			case 17:
				return o_deathDuration;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_objId = obj;
				break;
			case 13:
				o_Objstate = obj;
				break;
			case 15:
				o_deathType = obj;
				break;
			case 17:
				o_deathDuration = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_objId != null && o_objId != CInt4.zero) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_objId, EBaseType.e014_Int4);
		}
		if (o_Objstate != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_Objstate);//ֵ
		}
		if (o_deathType != 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.Write(o_deathType);//ֵ
		}
		if (o_deathDuration != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(o_deathDuration);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_objId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 13:
				o_Objstate = binaryReader.ReadByte();
					break;
				case 15:
				o_deathType = binaryReader.ReadByte();
					break;
				case 17:
				o_deathDuration = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_015_ObjRoomTransfer.Sync_SetRebornOrDeath.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_objId;//--id
		str = str + "  &13=" + this.o_Objstate;//--Obj状态
		str = str + "  &15=" + this.o_deathType;//--deathType
		str = str + "  &17=" + this.o_deathDuration;//--死亡时间
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_objId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 13:
						this.o_Objstate = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 15:
						this.o_deathType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 17:
						this.o_deathDuration = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_SetRebornOrDeath_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "CSUtilss.CInt4", "id", "", "o_objId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_SetRebornOrDeath"),
		"13" : new CSUtils.AField(13, "System.Byte", "Obj状态", "", "o_Objstate", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_SetRebornOrDeath"),
		"15" : new CSUtils.AField(15, "System.Byte", "deathType", "", "o_deathType", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_SetRebornOrDeath"),
		"17" : new CSUtils.AField(17, "System.Single", "死亡时间", "", "o_deathDuration", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_SetRebornOrDeath"),
	},
}

//--------0_01_015_104----
//----Sync_BloodChange--
CNetwork.Sync_BloodChange = function(){}
CNetwork.Sync_BloodChange.prototype = {
	get m_className() {return "Sync_BloodChange";},
	get m_typeId() {return "0_01_015_104";},
	get m_typeTag() {return "Sync_BloodChange";},
	get m_fieldArr() {return CNetwork.Sync_BloodChange_dic.m_fieldArr;},
	_instanceId : 0,

	o_objId: {a:0,b:0,c:0,d:0},//CInt4----id----
	o_currentBloodVolume: 0,//Single----current----
	o_originBloodVolume: 0,//Single----originBlood----
	o_maxBloodVolume: 0,//Single----maxBlood----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_objId;
			case 13:
				return o_currentBloodVolume;
			case 15:
				return o_originBloodVolume;
			case 16:
				return o_maxBloodVolume;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_objId = obj;
				break;
			case 13:
				o_currentBloodVolume = obj;
				break;
			case 15:
				o_originBloodVolume = obj;
				break;
			case 16:
				o_maxBloodVolume = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_objId != null && o_objId != CInt4.zero) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_objId, EBaseType.e014_Int4);
		}
		if (o_currentBloodVolume != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_currentBloodVolume);//ֵ
		}
		if (o_originBloodVolume != 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.Write(o_originBloodVolume);//ֵ
		}
		if (o_maxBloodVolume != 0) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.Write(o_maxBloodVolume);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_objId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 13:
				o_currentBloodVolume = binaryReader.ReadSingle();
					break;
				case 15:
				o_originBloodVolume = binaryReader.ReadSingle();
					break;
				case 16:
				o_maxBloodVolume = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_015_ObjRoomTransfer.Sync_BloodChange.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_objId;//--id
		str = str + "  &13=" + this.o_currentBloodVolume;//--current
		str = str + "  &15=" + this.o_originBloodVolume;//--originBlood
		str = str + "  &16=" + this.o_maxBloodVolume;//--maxBlood
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_objId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 13:
						this.o_currentBloodVolume = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 15:
						this.o_originBloodVolume = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 16:
						this.o_maxBloodVolume = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_BloodChange_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "CSUtilss.CInt4", "id", "", "o_objId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_BloodChange"),
		"13" : new CSUtils.AField(13, "System.Single", "current", "", "o_currentBloodVolume", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_BloodChange"),
		"15" : new CSUtils.AField(15, "System.Single", "originBlood", "", "o_originBloodVolume", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_BloodChange"),
		"16" : new CSUtils.AField(16, "System.Single", "maxBlood", "", "o_maxBloodVolume", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_BloodChange"),
	},
}

//--------0_01_015_105----
//----Sync_LuanchSkill--
CNetwork.Sync_LuanchSkill = function(){}
CNetwork.Sync_LuanchSkill.prototype = {
	get m_className() {return "Sync_LuanchSkill";},
	get m_typeId() {return "0_01_015_105";},
	get m_typeTag() {return "Sync_LuanchSkill";},
	get m_fieldArr() {return CNetwork.Sync_LuanchSkill_dic.m_fieldArr;},
	_instanceId : 0,

	o_objId: {a:0,b:0,c:0,d:0},//CInt4----id----
	o_skillId: 0,//Int32----skillId----
	o_enemyId: {a:0,b:0,c:0,d:0},//CInt4----enemyId----
	o_targetPoint: {},//Single[]----targetPoint----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_objId;
			case 13:
				return o_skillId;
			case 16:
				return o_enemyId;
			case 18:
				return o_targetPoint;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_objId = obj;
				break;
			case 13:
				o_skillId = obj;
				break;
			case 16:
				o_enemyId = obj;
				break;
			case 18:
				o_targetPoint = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_objId != null && o_objId != CInt4.zero) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_objId, EBaseType.e014_Int4);
		}
		if (o_skillId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_skillId);//ֵ
		}
		if (o_enemyId != null && o_enemyId != CInt4.zero) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_enemyId, EBaseType.e014_Int4);
		}
		if (o_targetPoint != null && o_targetPoint.Length > 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_targetPoint, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_objId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 13:
					o_skillId = binaryReader.ReadInt32();
					break;
				case 16:
				o_enemyId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 18:
					o_targetPoint = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_015_ObjRoomTransfer.Sync_LuanchSkill.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_objId;//--id
		str = str + "  &13=" + this.o_skillId;//--skillId
		str = str + "  &16=" + this.o_enemyId;//--enemyId
		str = str + "  &18=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_targetPoint, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_objId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 13:
						this.o_skillId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 16:
						this.o_enemyId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 18:
						this.o_targetPoint = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_LuanchSkill_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "CSUtilss.CInt4", "id", "", "o_objId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_LuanchSkill"),
		"13" : new CSUtils.AField(13, "System.Int32", "skillId", "", "o_skillId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_LuanchSkill"),
		"16" : new CSUtils.AField(16, "CSUtilss.CInt4", "enemyId", "", "o_enemyId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_LuanchSkill"),
		"18" : new CSUtils.AField(18, "System.Single[]", "targetPoint", "", "o_targetPoint", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_LuanchSkill"),
	},
}

//--------0_01_015_106----
//----Sync_SufferAttack--
CNetwork.Sync_SufferAttack = function(){}
CNetwork.Sync_SufferAttack.prototype = {
	get m_className() {return "Sync_SufferAttack";},
	get m_typeId() {return "0_01_015_106";},
	get m_typeTag() {return "Sync_SufferAttack";},
	get m_fieldArr() {return CNetwork.Sync_SufferAttack_dic.m_fieldArr;},
	_instanceId : 0,

	o_objId: {a:0,b:0,c:0,d:0},//CInt4----id----
	o_murdererId: {a:0,b:0,c:0,d:0},//CInt4----敌人Id----
	skillOnlyPathId: {a:0,b:0,c:0,d:0},//CInt4----skillId----
	o_distance: 0,//Single----距离----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_objId;
			case 13:
				return o_murdererId;
			case 16:
				return skillOnlyPathId;
			case 18:
				return o_distance;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_objId = obj;
				break;
			case 13:
				o_murdererId = obj;
				break;
			case 16:
				skillOnlyPathId = obj;
				break;
			case 18:
				o_distance = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_objId != null && o_objId != CInt4.zero) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_objId, EBaseType.e014_Int4);
		}
		if (o_murdererId != null && o_murdererId != CInt4.zero) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_murdererId, EBaseType.e014_Int4);
		}
		if (skillOnlyPathId != null && skillOnlyPathId != CInt4.zero) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.S_WriteByteObj(skillOnlyPathId, EBaseType.e014_Int4);
		}
		if (o_distance != 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.Write(o_distance);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_objId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 13:
				o_murdererId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 16:
				skillOnlyPathId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 18:
				o_distance = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_015_ObjRoomTransfer.Sync_SufferAttack.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_objId;//--id
		str = str + "  &13=" + this.o_murdererId;//--敌人Id
		str = str + "  &16=" + this.skillOnlyPathId;//--skillId
		str = str + "  &18=" + this.o_distance;//--距离
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_objId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 13:
						this.o_murdererId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 16:
						this.skillOnlyPathId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 18:
						this.o_distance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_SufferAttack_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "CSUtilss.CInt4", "id", "", "o_objId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_SufferAttack"),
		"13" : new CSUtils.AField(13, "CSUtilss.CInt4", "敌人Id", "", "o_murdererId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_SufferAttack"),
		"16" : new CSUtils.AField(16, "CSUtilss.CInt4", "skillId", "", "skillOnlyPathId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_SufferAttack"),
		"18" : new CSUtils.AField(18, "System.Single", "距离", "", "o_distance", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_SufferAttack"),
	},
}

//--------0_01_015_108----
//----Sync_MovePosi--
CNetwork.Sync_MovePosi = function(){}
CNetwork.Sync_MovePosi.prototype = {
	get m_className() {return "Sync_MovePosi";},
	get m_typeId() {return "0_01_015_108";},
	get m_typeTag() {return "Sync_MovePosi";},
	get m_fieldArr() {return CNetwork.Sync_MovePosi_dic.m_fieldArr;},
	_instanceId : 0,

	o_objId: {a:0,b:0,c:0,d:0},//CInt4----id----
	o_isReachTargetPosi: false,
	o_originPosi: {},//Single[]----originPosi----
	o_targetPosi: {},//Single[]----targetPosi----
	o_speed: 0,//Single----speed----
	o_stopDistance: 0,//Single----停止距离----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_objId;
			case 13:
				return o_isReachTargetPosi;
			case 15:
				return o_originPosi;
			case 17:
				return o_targetPosi;
			case 19:
				return o_speed;
			case 21:
				return o_stopDistance;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_objId = obj;
				break;
			case 13:
				o_isReachTargetPosi = obj;
				break;
			case 15:
				o_originPosi = obj;
				break;
			case 17:
				o_targetPosi = obj;
				break;
			case 19:
				o_speed = obj;
				break;
			case 21:
				o_stopDistance = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_objId != null && o_objId != CInt4.zero) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_objId, EBaseType.e014_Int4);
		}
		if (o_isReachTargetPosi != false) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_isReachTargetPosi);//ֵ
		}
		if (o_originPosi != null && o_originPosi.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_originPosi, EBaseType.e008_float);//����
		}
		if (o_targetPosi != null && o_targetPosi.Length > 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_targetPosi, EBaseType.e008_float);//����
		}
		if (o_speed != 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.Write(o_speed);//ֵ
		}
		if (o_stopDistance != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(o_stopDistance);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_objId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 13:
					o_isReachTargetPosi = binaryReader.ReadBoolean();
					break;
				case 15:
					o_originPosi = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 17:
					o_targetPosi = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 19:
				o_speed = binaryReader.ReadSingle();
					break;
				case 21:
				o_stopDistance = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_015_ObjRoomTransfer.Sync_MovePosi.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_objId;//--id
		str = str + "  &13=" + this.o_isReachTargetPosi;//--是否到达目标点
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_originPosi, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &17=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_targetPosi, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &19=" + this.o_speed;//--speed
		str = str + "  &21=" + this.o_stopDistance;//--停止距离
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_objId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 13:
						this.o_isReachTargetPosi = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 15:
						this.o_originPosi = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 17:
						this.o_targetPosi = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 19:
						this.o_speed = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 21:
						this.o_stopDistance = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_MovePosi_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "CSUtilss.CInt4", "id", "", "o_objId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_MovePosi"),
		"13" : new CSUtils.AField(13, "System.Boolean", "是否到达目标点", "", "o_isReachTargetPosi", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_MovePosi"),
		"15" : new CSUtils.AField(15, "System.Single[]", "originPosi", "", "o_originPosi", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_MovePosi"),
		"17" : new CSUtils.AField(17, "System.Single[]", "targetPosi", "", "o_targetPosi", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_MovePosi"),
		"19" : new CSUtils.AField(19, "System.Single", "speed", "", "o_speed", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_MovePosi"),
		"21" : new CSUtils.AField(21, "System.Single", "停止距离", "", "o_stopDistance", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_MovePosi"),
	},
}

//--------0_01_015_121----
//----Sync_RefreshGradeData--
CNetwork.Sync_RefreshGradeData = function(){}
CNetwork.Sync_RefreshGradeData.prototype = {
	get m_className() {return "Sync_RefreshGradeData";},
	get m_typeId() {return "0_01_015_121";},
	get m_typeTag() {return "Sync_RefreshGradeData";},
	get m_fieldArr() {return CNetwork.Sync_RefreshGradeData_dic.m_fieldArr;},
	_instanceId : 0,

	o_objId: {a:0,b:0,c:0,d:0},//CInt4----id----
	o_grade: 0,//Int32----等级----
	isHasAnimEffect: false,
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_objId;
			case 17:
				return o_grade;
			case 20:
				return isHasAnimEffect;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_objId = obj;
				break;
			case 17:
				o_grade = obj;
				break;
			case 20:
				isHasAnimEffect = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_objId != null && o_objId != CInt4.zero) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_objId, EBaseType.e014_Int4);
		}
		if (o_grade != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(o_grade);//ֵ
		}
		if (isHasAnimEffect != false) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(isHasAnimEffect);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_objId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 17:
					o_grade = binaryReader.ReadInt32();
					break;
				case 20:
					isHasAnimEffect = binaryReader.ReadBoolean();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_015_ObjRoomTransfer.Sync_RefreshGradeData.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_objId;//--id
		str = str + "  &17=" + this.o_grade;//--等级
		str = str + "  &20=" + this.isHasAnimEffect;//--是否线上特效
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_objId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 17:
						this.o_grade = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 20:
						this.isHasAnimEffect = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_RefreshGradeData_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "CSUtilss.CInt4", "id", "", "o_objId", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_RefreshGradeData"),
		"17" : new CSUtils.AField(17, "System.Int32", "等级", "", "o_grade", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_RefreshGradeData"),
		"20" : new CSUtils.AField(20, "System.Boolean", "是否线上特效", "", "isHasAnimEffect", 3, "0", "100", null, 0, "Protocol_015_ObjRoomTransfer.Sync_RefreshGradeData"),
	},
}

//--------0_01_010_011----
//----Send_540强制退出游戏--
CNetwork.Send_540强制退出游戏 = function(){}
CNetwork.Send_540强制退出游戏.prototype = {
	get m_className() {return "Send_540强制退出游戏";},
	get m_typeId() {return "0_01_010_011";},
	get m_typeTag() {return "Send_540强制退出游戏";},
	get m_fieldArr() {return CNetwork.Send_540强制退出游戏_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.Protocol_010_MobaRoom.Send_540强制退出游戏.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CNetwork.Send_540强制退出游戏_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_01_010_012----
//----Send_550投降信息--
CNetwork.Send_550投降信息 = function(){}
CNetwork.Send_550投降信息.prototype = {
	get m_className() {return "Send_550投降信息";},
	get m_typeId() {return "0_01_010_012";},
	get m_typeTag() {return "Send_550投降信息";},
	get m_fieldArr() {return CNetwork.Send_550投降信息_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.Protocol_010_MobaRoom.Send_550投降信息.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CNetwork.Send_550投降信息_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_01_010_015----
//----Send_560游戏房间结束--
CNetwork.Send_560游戏房间结束 = function(){}
CNetwork.Send_560游戏房间结束.prototype = {
	get m_className() {return "Send_560游戏房间结束";},
	get m_typeId() {return "0_01_010_015";},
	get m_typeTag() {return "Send_560游戏房间结束";},
	get m_fieldArr() {return CNetwork.Send_560游戏房间结束_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.Protocol_010_MobaRoom.Send_560游戏房间结束.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CNetwork.Send_560游戏房间结束_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_01_009_130----
//----Send_510邀请好友加入队伍Req--
CNetwork.Send_510邀请好友加入队伍Req = function(){}
CNetwork.Send_510邀请好友加入队伍Req.prototype = {
	get m_className() {return "Send_510邀请好友加入队伍Req";},
	get m_typeId() {return "0_01_009_130";},
	get m_typeTag() {return "Send_510邀请好友加入队伍Req";},
	get m_fieldArr() {return CNetwork.Send_510邀请好友加入队伍Req_dic.m_fieldArr;},
	_instanceId : 0,

	o_originPlayerName: "",//String--------
	o_originPlayerHeadPortrait: 0,//Byte--------
	o_serverPlayerId: 0,//Int32--------
	o_roomId: 0,//UInt16--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 24:
				return o_originPlayerName;
			case 26:
				return o_originPlayerHeadPortrait;
			case 28:
				return o_serverPlayerId;
			case 30:
				return o_roomId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 24:
				o_originPlayerName = obj;
				break;
			case 26:
				o_originPlayerHeadPortrait = obj;
				break;
			case 28:
				o_serverPlayerId = obj;
				break;
			case 30:
				o_roomId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(o_originPlayerName) == false) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_originPlayerName, EBaseType.e012_string);
		}
		if (o_originPlayerHeadPortrait != 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.Write(o_originPlayerHeadPortrait);//ֵ
		}
		if (o_serverPlayerId != 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.Write(o_serverPlayerId);//ֵ
		}
		if (o_roomId != 0) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 24:
				o_originPlayerName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 26:
				o_originPlayerHeadPortrait = binaryReader.ReadByte();
					break;
				case 28:
					o_serverPlayerId = binaryReader.ReadInt32();
					break;
				case 30:
			o_roomId = binaryReader.ReadUInt16();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_009_MobaMatching.Send_510邀请好友加入队伍Req.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &24=" + this.o_originPlayerName;//--
		str = str + "  &26=" + this.o_originPlayerHeadPortrait;//--
		str = str + "  &28=" + this.o_serverPlayerId;//--
		str = str + "  &30=" + this.o_roomId;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 24:
						this.o_originPlayerName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 26:
						this.o_originPlayerHeadPortrait = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 28:
						this.o_serverPlayerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 30:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Send_510邀请好友加入队伍Req_dic = { 
	"m_fieldArr" : {
		"24" : new CSUtils.AField(24, "System.String", "", "", "o_originPlayerName", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_510邀请好友加入队伍Req"),
		"26" : new CSUtils.AField(26, "System.Byte", "", "", "o_originPlayerHeadPortrait", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_510邀请好友加入队伍Req"),
		"28" : new CSUtils.AField(28, "System.Int32", "", "", "o_serverPlayerId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_510邀请好友加入队伍Req"),
		"30" : new CSUtils.AField(30, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_510邀请好友加入队伍Req"),
	},
}

//--------0_01_009_131----
//----Send_512邀请好友加入队伍Resp--
CNetwork.Send_512邀请好友加入队伍Resp = function(){}
CNetwork.Send_512邀请好友加入队伍Resp.prototype = {
	get m_className() {return "Send_512邀请好友加入队伍Resp";},
	get m_typeId() {return "0_01_009_131";},
	get m_typeTag() {return "Send_512邀请好友加入队伍Resp";},
	get m_fieldArr() {return CNetwork.Send_512邀请好友加入队伍Resp_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//UInt16--------
	o_playerName: "",//String--------
	o_playerHeadPortrait: 0,//Byte--------
	o_serverPlayerId: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 20:
				return o_roomId;
			case 24:
				return o_playerName;
			case 26:
				return o_playerHeadPortrait;
			case 28:
				return o_serverPlayerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 20:
				o_roomId = obj;
				break;
			case 24:
				o_playerName = obj;
				break;
			case 26:
				o_playerHeadPortrait = obj;
				break;
			case 28:
				o_serverPlayerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (string.IsNullOrEmpty(o_playerName) == false) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_playerName, EBaseType.e012_string);
		}
		if (o_playerHeadPortrait != 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.Write(o_playerHeadPortrait);//ֵ
		}
		if (o_serverPlayerId != 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.Write(o_serverPlayerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 20:
			o_roomId = binaryReader.ReadUInt16();
					break;
				case 24:
				o_playerName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 26:
				o_playerHeadPortrait = binaryReader.ReadByte();
					break;
				case 28:
					o_serverPlayerId = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_009_MobaMatching.Send_512邀请好友加入队伍Resp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &20=" + this.o_roomId;//--
		str = str + "  &24=" + this.o_playerName;//--
		str = str + "  &26=" + this.o_playerHeadPortrait;//--
		str = str + "  &28=" + this.o_serverPlayerId;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 20:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 24:
						this.o_playerName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 26:
						this.o_playerHeadPortrait = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 28:
						this.o_serverPlayerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Send_512邀请好友加入队伍Resp_dic = { 
	"m_fieldArr" : {
		"20" : new CSUtils.AField(20, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_512邀请好友加入队伍Resp"),
		"24" : new CSUtils.AField(24, "System.String", "", "", "o_playerName", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_512邀请好友加入队伍Resp"),
		"26" : new CSUtils.AField(26, "System.Byte", "", "", "o_playerHeadPortrait", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_512邀请好友加入队伍Resp"),
		"28" : new CSUtils.AField(28, "System.Int32", "", "", "o_serverPlayerId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_512邀请好友加入队伍Resp"),
	},
}

//--------0_01_009_172----
//----Send_514收到队伍消息--
CNetwork.Send_514收到队伍消息 = function(){}
CNetwork.Send_514收到队伍消息.prototype = {
	get m_className() {return "Send_514收到队伍消息";},
	get m_typeId() {return "0_01_009_172";},
	get m_typeTag() {return "Send_514收到队伍消息";},
	get m_fieldArr() {return CNetwork.Send_514收到队伍消息_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//Int32--------
	o_playerId: 0,//Int32--------
	o_msg: "",//String--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 21:
				return o_roomId;
			case 23:
				return o_playerId;
			case 25:
				return o_msg;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 21:
				o_roomId = obj;
				break;
			case 23:
				o_playerId = obj;
				break;
			case 25:
				o_msg = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_playerId != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		if (string.IsNullOrEmpty(o_msg) == false) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_msg, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 21:
					o_roomId = binaryReader.ReadInt32();
					break;
				case 23:
					o_playerId = binaryReader.ReadInt32();
					break;
				case 25:
				o_msg = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_009_MobaMatching.Send_514收到队伍消息.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &21=" + this.o_roomId;//--
		str = str + "  &23=" + this.o_playerId;//--
		str = str + "  &25=" + this.o_msg;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 21:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 23:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 25:
						this.o_msg = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Send_514收到队伍消息_dic = { 
	"m_fieldArr" : {
		"21" : new CSUtils.AField(21, "System.Int32", "", "", "o_roomId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_514收到队伍消息"),
		"23" : new CSUtils.AField(23, "System.Int32", "", "", "o_playerId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_514收到队伍消息"),
		"25" : new CSUtils.AField(25, "System.String", "", "", "o_msg", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Send_514收到队伍消息"),
	},
}

//--------0_01_009_100----
//----Send_610玩家信息Req--
CNetwork.Send_610玩家信息Req = function(){}
CNetwork.Send_610玩家信息Req.prototype = {
	get m_className() {return "Send_610玩家信息Req";},
	get m_typeId() {return "0_01_009_100";},
	get m_typeTag() {return "Send_610玩家信息Req";},
	get m_fieldArr() {return CNetwork.Send_610玩家信息Req_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.Protocol_009_MobaMatching.Send_610玩家信息Req.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CNetwork.Send_610玩家信息Req_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_01_009_101----
//----Send_610玩家信息Resp--
CNetwork.Send_610玩家信息Resp = function(){}
CNetwork.Send_610玩家信息Resp.prototype = {
	get m_className() {return "Send_610玩家信息Resp";},
	get m_typeId() {return "0_01_009_101";},
	get m_typeTag() {return "Send_610玩家信息Resp";},
	get m_fieldArr() {return CNetwork.Send_610玩家信息Resp_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.Protocol_009_MobaMatching.Send_610玩家信息Resp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CNetwork.Send_610玩家信息Resp_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_01_009_102----
//----Send_630玩家选择--
CNetwork.Dto_630玩家选择 = function(){}
CNetwork.Dto_630玩家选择.prototype = {
	get m_className() {return "Dto_630玩家选择";},
	get m_typeId() {return "0_01_009_102";},
	get m_typeTag() {return "Send_630玩家选择";},
	get m_fieldArr() {return CNetwork.Dto_630玩家选择_dic.m_fieldArr;},
	_instanceId : 0,

	o_playerId: 0,//UInt32----playerId----
	o_selectType: 0,//Byte----选择类型----1=英雄，2=武器，3=技能
	o_selectIndex: 0,//Byte----index----
	o_asetsPathId: {a:0,b:0,c:0,d:0},//CInt4----asetsPathId----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 22:
				return o_playerId;
			case 26:
				return o_selectType;
			case 28:
				return o_selectIndex;
			case 30:
				return o_asetsPathId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 22:
				o_playerId = obj;
				break;
			case 26:
				o_selectType = obj;
				break;
			case 28:
				o_selectIndex = obj;
				break;
			case 30:
				o_asetsPathId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_playerId != 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		if (o_selectType != 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.Write(o_selectType);//ֵ
		}
		if (o_selectIndex != 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.Write(o_selectIndex);//ֵ
		}
		if (o_asetsPathId != null && o_asetsPathId != CInt4.zero) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_asetsPathId, EBaseType.e014_Int4);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 22:
					o_playerId = binaryReader.ReadUInt32();
					break;
				case 26:
				o_selectType = binaryReader.ReadByte();
					break;
				case 28:
				o_selectIndex = binaryReader.ReadByte();
					break;
				case 30:
				o_asetsPathId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_009_MobaMatching.Dto_630玩家选择.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &22=" + this.o_playerId;//--playerId
		str = str + "  &26=" + this.o_selectType;//--选择类型
		str = str + "  &28=" + this.o_selectIndex;//--index
		str = str + "  &30=" + this.o_asetsPathId;//--asetsPathId
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 22:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 26:
						this.o_selectType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 28:
						this.o_selectIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 30:
						this.o_asetsPathId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Dto_630玩家选择_dic = { 
	"m_fieldArr" : {
		"22" : new CSUtils.AField(22, "System.UInt32", "playerId", "", "o_playerId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Dto_630玩家选择"),
		"26" : new CSUtils.AField(26, "System.Byte", "选择类型", "1=英雄，2=武器，3=技能", "o_selectType", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Dto_630玩家选择"),
		"28" : new CSUtils.AField(28, "System.Byte", "index", "", "o_selectIndex", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Dto_630玩家选择"),
		"30" : new CSUtils.AField(30, "CSUtilss.CInt4", "asetsPathId", "", "o_asetsPathId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Dto_630玩家选择"),
	},
}

//--------0_01_009_105----
//----Send_631玩家确定选择--
CNetwork.Dto_631玩家确定选择 = function(){}
CNetwork.Dto_631玩家确定选择.prototype = {
	get m_className() {return "Dto_631玩家确定选择";},
	get m_typeId() {return "0_01_009_105";},
	get m_typeTag() {return "Send_631玩家确定选择";},
	get m_fieldArr() {return CNetwork.Dto_631玩家确定选择_dic.m_fieldArr;},
	_instanceId : 0,

	o_playerId: 0,//UInt32----playerId----
	o_selectType: 0,//Byte----选择类型----1=英雄，2=武器，3=技能
	o_selectIndex: 0,//Byte----Index----
	o_asetsPathId: {a:0,b:0,c:0,d:0},//CInt4----asetsPathId----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 22:
				return o_playerId;
			case 26:
				return o_selectType;
			case 28:
				return o_selectIndex;
			case 30:
				return o_asetsPathId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 22:
				o_playerId = obj;
				break;
			case 26:
				o_selectType = obj;
				break;
			case 28:
				o_selectIndex = obj;
				break;
			case 30:
				o_asetsPathId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_playerId != 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		if (o_selectType != 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.Write(o_selectType);//ֵ
		}
		if (o_selectIndex != 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.Write(o_selectIndex);//ֵ
		}
		if (o_asetsPathId != null && o_asetsPathId != CInt4.zero) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_asetsPathId, EBaseType.e014_Int4);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 22:
					o_playerId = binaryReader.ReadUInt32();
					break;
				case 26:
				o_selectType = binaryReader.ReadByte();
					break;
				case 28:
				o_selectIndex = binaryReader.ReadByte();
					break;
				case 30:
				o_asetsPathId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_009_MobaMatching.Dto_631玩家确定选择.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &22=" + this.o_playerId;//--playerId
		str = str + "  &26=" + this.o_selectType;//--选择类型
		str = str + "  &28=" + this.o_selectIndex;//--Index
		str = str + "  &30=" + this.o_asetsPathId;//--asetsPathId
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 22:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 26:
						this.o_selectType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 28:
						this.o_selectIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 30:
						this.o_asetsPathId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Dto_631玩家确定选择_dic = { 
	"m_fieldArr" : {
		"22" : new CSUtils.AField(22, "System.UInt32", "playerId", "", "o_playerId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Dto_631玩家确定选择"),
		"26" : new CSUtils.AField(26, "System.Byte", "选择类型", "1=英雄，2=武器，3=技能", "o_selectType", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Dto_631玩家确定选择"),
		"28" : new CSUtils.AField(28, "System.Byte", "Index", "", "o_selectIndex", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Dto_631玩家确定选择"),
		"30" : new CSUtils.AField(30, "CSUtilss.CInt4", "asetsPathId", "", "o_asetsPathId", 3, "0", "100", null, 0, "Protocol_009_MobaMatching.Dto_631玩家确定选择"),
	},
}

//--------0_01_008_008----
//----Msg_008_请求创建组队房间--
CNetwork.Msg_008_请求创建组队房间 = function(){}
CNetwork.Msg_008_请求创建组队房间.prototype = {
	get m_className() {return "Msg_008_请求创建组队房间";},
	get m_typeId() {return "0_01_008_008";},
	get m_typeTag() {return "Msg_008_请求创建组队房间";},
	get m_fieldArr() {return CNetwork.Msg_008_请求创建组队房间_dic.m_fieldArr;},
	_instanceId : 0,

	ii: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return ii;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				ii = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (ii != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(ii);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					ii = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_008_MmoRoom.Msg_008_请求创建组队房间.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.ii;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.ii = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Msg_008_请求创建组队房间_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "ii", 3, "0", "100", null, 0, "Protocol_008_MmoRoom.Msg_008_请求创建组队房间"),
	},
}

//--------0_01_008_010----
//----Msg_010_请求加入队伍--
CNetwork.Msg_010_请求加入队伍 = function(){}
CNetwork.Msg_010_请求加入队伍.prototype = {
	get m_className() {return "Msg_010_请求加入队伍";},
	get m_typeId() {return "0_01_008_010";},
	get m_typeTag() {return "Msg_010_请求加入队伍";},
	get m_fieldArr() {return CNetwork.Msg_010_请求加入队伍_dic.m_fieldArr;},
	_instanceId : 0,

	ii: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return ii;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				ii = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (ii != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(ii);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					ii = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_008_MmoRoom.Msg_010_请求加入队伍.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.ii;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.ii = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Msg_010_请求加入队伍_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "ii", 3, "0", "100", null, 0, "Protocol_008_MmoRoom.Msg_010_请求加入队伍"),
	},
}

//--------0_01_008_012----
//----Msg_012_同意加入队伍--
CNetwork.Msg_012_同意加入队伍 = function(){}
CNetwork.Msg_012_同意加入队伍.prototype = {
	get m_className() {return "Msg_012_同意加入队伍";},
	get m_typeId() {return "0_01_008_012";},
	get m_typeTag() {return "Msg_012_同意加入队伍";},
	get m_fieldArr() {return CNetwork.Msg_012_同意加入队伍_dic.m_fieldArr;},
	_instanceId : 0,

	ii: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return ii;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				ii = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (ii != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(ii);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					ii = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_008_MmoRoom.Msg_012_同意加入队伍.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.ii;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.ii = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Msg_012_同意加入队伍_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "ii", 3, "0", "100", null, 0, "Protocol_008_MmoRoom.Msg_012_同意加入队伍"),
	},
}

//--------0_01_008_014----
//----Msg_014_收到队伍消息--
CNetwork.Msg_014_收到队伍消息 = function(){}
CNetwork.Msg_014_收到队伍消息.prototype = {
	get m_className() {return "Msg_014_收到队伍消息";},
	get m_typeId() {return "0_01_008_014";},
	get m_typeTag() {return "Msg_014_收到队伍消息";},
	get m_fieldArr() {return CNetwork.Msg_014_收到队伍消息_dic.m_fieldArr;},
	_instanceId : 0,

	ii: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return ii;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				ii = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (ii != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(ii);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					ii = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_008_MmoRoom.Msg_014_收到队伍消息.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.ii;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.ii = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Msg_014_收到队伍消息_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "ii", 3, "0", "100", null, 0, "Protocol_008_MmoRoom.Msg_014_收到队伍消息"),
	},
}

//--------0_01_008_016----
//----Msg_016_退出或解散队伍--
CNetwork.Msg_016_退出或解散队伍 = function(){}
CNetwork.Msg_016_退出或解散队伍.prototype = {
	get m_className() {return "Msg_016_退出或解散队伍";},
	get m_typeId() {return "0_01_008_016";},
	get m_typeTag() {return "Msg_016_退出或解散队伍";},
	get m_fieldArr() {return CNetwork.Msg_016_退出或解散队伍_dic.m_fieldArr;},
	_instanceId : 0,

	ii: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return ii;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				ii = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (ii != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(ii);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					ii = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_008_MmoRoom.Msg_016_退出或解散队伍.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.ii;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.ii = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Msg_016_退出或解散队伍_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "ii", 3, "0", "100", null, 0, "Protocol_008_MmoRoom.Msg_016_退出或解散队伍"),
	},
}

//--------0_01_008_026----
//----Msg_026_解散房间--
CNetwork.Msg_026_解散房间 = function(){}
CNetwork.Msg_026_解散房间.prototype = {
	get m_className() {return "Msg_026_解散房间";},
	get m_typeId() {return "0_01_008_026";},
	get m_typeTag() {return "Msg_026_解散房间";},
	get m_fieldArr() {return CNetwork.Msg_026_解散房间_dic.m_fieldArr;},
	_instanceId : 0,

	ii: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return ii;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				ii = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (ii != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(ii);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					ii = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_008_MmoRoom.Msg_026_解散房间.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.ii;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.ii = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Msg_026_解散房间_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "ii", 3, "0", "100", null, 0, "Protocol_008_MmoRoom.Msg_026_解散房间"),
	},
}

//--------0_01_004_010----
//----申请添加好友33--
CNetwork.S2C_010_申请添加好友 = function(){}
CNetwork.S2C_010_申请添加好友.prototype = {
	get m_className() {return "S2C_010_申请添加好友";},
	get m_typeId() {return "0_01_004_010";},
	get m_typeTag() {return "申请添加好友33";},
	get m_fieldArr() {return CNetwork.S2C_010_申请添加好友_dic.m_fieldArr;},
	_instanceId : 0,

	z申请者ID: 0,//UInt32--------
	z申请者姓名: "",//String--------
	z申请者头像: "",//String--------
	z申请者服务器IP: "",//String--------
	z战斗力: 0,//UInt16--------
	zX经度: 0,//Int32--------
	zY纬度: 0,//Int32--------
	z目标ID: 0,//UInt32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return z申请者ID;
			case 12:
				return z申请者姓名;
			case 14:
				return z申请者头像;
			case 16:
				return z申请者服务器IP;
			case 17:
				return z战斗力;
			case 19:
				return zX经度;
			case 21:
				return zY纬度;
			case 23:
				return z目标ID;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				z申请者ID = obj;
				break;
			case 12:
				z申请者姓名 = obj;
				break;
			case 14:
				z申请者头像 = obj;
				break;
			case 16:
				z申请者服务器IP = obj;
				break;
			case 17:
				z战斗力 = obj;
				break;
			case 19:
				zX经度 = obj;
				break;
			case 21:
				zY纬度 = obj;
				break;
			case 23:
				z目标ID = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z申请者ID != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(z申请者ID);//ֵ
		}
		if (string.IsNullOrEmpty(z申请者姓名) == false) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteObj(z申请者姓名, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(z申请者头像) == false) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.S_WriteByteObj(z申请者头像, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(z申请者服务器IP) == false) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.S_WriteByteObj(z申请者服务器IP, EBaseType.e012_string);
		}
		if (z战斗力 != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(z战斗力);//ֵ
		}
		if (zX经度 != 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.Write(zX经度);//ֵ
		}
		if (zY纬度 != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(zY纬度);//ֵ
		}
		if (z目标ID != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(z目标ID);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					z申请者ID = binaryReader.ReadUInt32();
					break;
				case 12:
				z申请者姓名 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 14:
				z申请者头像 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 16:
				z申请者服务器IP = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 17:
			z战斗力 = binaryReader.ReadUInt16();
					break;
				case 19:
					zX经度 = binaryReader.ReadInt32();
					break;
				case 21:
					zY纬度 = binaryReader.ReadInt32();
					break;
				case 23:
					z目标ID = binaryReader.ReadUInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_004_FriendChat.S2C_010_申请添加好友.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.z申请者ID;//--
		str = str + "  &12=" + this.z申请者姓名;//--
		str = str + "  &14=" + this.z申请者头像;//--
		str = str + "  &16=" + this.z申请者服务器IP;//--
		str = str + "  &17=" + this.z战斗力;//--
		str = str + "  &19=" + this.zX经度;//--
		str = str + "  &21=" + this.zY纬度;//--
		str = str + "  &23=" + this.z目标ID;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.z申请者ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 12:
						this.z申请者姓名 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 14:
						this.z申请者头像 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 16:
						this.z申请者服务器IP = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 17:
						this.z战斗力 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 19:
						this.zX经度 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 21:
						this.zY纬度 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 23:
						this.z目标ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.S2C_010_申请添加好友_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32", "", "", "z申请者ID", 3, "0", "100", null, 0, "Protocol_004_FriendChat.S2C_010_申请添加好友"),
		"12" : new CSUtils.AField(12, "System.String", "", "", "z申请者姓名", 3, "0", "100", null, 0, "Protocol_004_FriendChat.S2C_010_申请添加好友"),
		"14" : new CSUtils.AField(14, "System.String", "", "", "z申请者头像", 3, "0", "100", null, 0, "Protocol_004_FriendChat.S2C_010_申请添加好友"),
		"16" : new CSUtils.AField(16, "System.String", "", "", "z申请者服务器IP", 3, "0", "100", null, 0, "Protocol_004_FriendChat.S2C_010_申请添加好友"),
		"17" : new CSUtils.AField(17, "System.UInt16", "", "", "z战斗力", 3, "0", "100", null, 0, "Protocol_004_FriendChat.S2C_010_申请添加好友"),
		"19" : new CSUtils.AField(19, "System.Int32", "", "", "zX经度", 3, "0", "100", null, 0, "Protocol_004_FriendChat.S2C_010_申请添加好友"),
		"21" : new CSUtils.AField(21, "System.Int32", "", "", "zY纬度", 3, "0", "100", null, 0, "Protocol_004_FriendChat.S2C_010_申请添加好友"),
		"23" : new CSUtils.AField(23, "System.UInt32", "", "", "z目标ID", 3, "0", "100", null, 0, "Protocol_004_FriendChat.S2C_010_申请添加好友"),
	},
}

//--------0_01_004_011----
//----回复添加好友33--
CNetwork.STC_011_回复添加好友 = function(){}
CNetwork.STC_011_回复添加好友.prototype = {
	get m_className() {return "STC_011_回复添加好友";},
	get m_typeId() {return "0_01_004_011";},
	get m_typeTag() {return "回复添加好友33";},
	get m_fieldArr() {return CNetwork.STC_011_回复添加好友_dic.m_fieldArr;},
	_instanceId : 0,

	z申请者ID: 0,//UInt32--------
	z目标ID: 0,//UInt32--------
	z目标姓名: "",//String--------
	z目标头像: "",//String--------
	z目标服务器IP: "",//String--------
	z战斗力: 0,//UInt16--------
	zX经度: 0,//Int32--------
	zY纬度: 0,//Int32--------
	z是否同意添加好友: false,
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 10:
				return z申请者ID;
			case 11:
				return z目标ID;
			case 13:
				return z目标姓名;
			case 15:
				return z目标头像;
			case 17:
				return z目标服务器IP;
			case 19:
				return z战斗力;
			case 21:
				return zX经度;
			case 25:
				return zY纬度;
			case 28:
				return z是否同意添加好友;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 10:
				z申请者ID = obj;
				break;
			case 11:
				z目标ID = obj;
				break;
			case 13:
				z目标姓名 = obj;
				break;
			case 15:
				z目标头像 = obj;
				break;
			case 17:
				z目标服务器IP = obj;
				break;
			case 19:
				z战斗力 = obj;
				break;
			case 21:
				zX经度 = obj;
				break;
			case 25:
				zY纬度 = obj;
				break;
			case 28:
				z是否同意添加好友 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z申请者ID != 0) {
			binaryWriter.Write(10);//�ֶ�����
			binaryWriter.Write(z申请者ID);//ֵ
		}
		if (z目标ID != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(z目标ID);//ֵ
		}
		if (string.IsNullOrEmpty(z目标姓名) == false) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteObj(z目标姓名, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(z目标头像) == false) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteObj(z目标头像, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(z目标服务器IP) == false) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.S_WriteByteObj(z目标服务器IP, EBaseType.e012_string);
		}
		if (z战斗力 != 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.Write(z战斗力);//ֵ
		}
		if (zX经度 != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(zX经度);//ֵ
		}
		if (zY纬度 != 0) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.Write(zY纬度);//ֵ
		}
		if (z是否同意添加好友 != false) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.Write(z是否同意添加好友);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 10:
					z申请者ID = binaryReader.ReadUInt32();
					break;
				case 11:
					z目标ID = binaryReader.ReadUInt32();
					break;
				case 13:
				z目标姓名 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
				z目标头像 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 17:
				z目标服务器IP = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 19:
			z战斗力 = binaryReader.ReadUInt16();
					break;
				case 21:
					zX经度 = binaryReader.ReadInt32();
					break;
				case 25:
					zY纬度 = binaryReader.ReadInt32();
					break;
				case 28:
					z是否同意添加好友 = binaryReader.ReadBoolean();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_004_FriendChat.STC_011_回复添加好友.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &10=" + this.z申请者ID;//--
		str = str + "  &11=" + this.z目标ID;//--
		str = str + "  &13=" + this.z目标姓名;//--
		str = str + "  &15=" + this.z目标头像;//--
		str = str + "  &17=" + this.z目标服务器IP;//--
		str = str + "  &19=" + this.z战斗力;//--
		str = str + "  &21=" + this.zX经度;//--
		str = str + "  &25=" + this.zY纬度;//--
		str = str + "  &28=" + this.z是否同意添加好友;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 10:
						this.z申请者ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 11:
						this.z目标ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 13:
						this.z目标姓名 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 15:
						this.z目标头像 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 17:
						this.z目标服务器IP = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 19:
						this.z战斗力 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 21:
						this.zX经度 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 25:
						this.zY纬度 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 28:
						this.z是否同意添加好友 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.STC_011_回复添加好友_dic = { 
	"m_fieldArr" : {
		"10" : new CSUtils.AField(10, "System.UInt32", "", "", "z申请者ID", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
		"11" : new CSUtils.AField(11, "System.UInt32", "", "", "z目标ID", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
		"13" : new CSUtils.AField(13, "System.String", "", "", "z目标姓名", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
		"15" : new CSUtils.AField(15, "System.String", "", "", "z目标头像", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
		"17" : new CSUtils.AField(17, "System.String", "", "", "z目标服务器IP", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
		"19" : new CSUtils.AField(19, "System.UInt16", "", "", "z战斗力", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
		"21" : new CSUtils.AField(21, "System.Int32", "", "", "zX经度", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
		"25" : new CSUtils.AField(25, "System.Int32", "", "", "zY纬度", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
		"28" : new CSUtils.AField(28, "System.Boolean", "", "", "z是否同意添加好友", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_011_回复添加好友"),
	},
}

//--------0_01_004_013----
//----收到好友消息33--
CNetwork.STC_013_收到好友消息 = function(){}
CNetwork.STC_013_收到好友消息.prototype = {
	get m_className() {return "STC_013_收到好友消息";},
	get m_typeId() {return "0_01_004_013";},
	get m_typeTag() {return "收到好友消息33";},
	get m_fieldArr() {return CNetwork.STC_013_收到好友消息_dic.m_fieldArr;},
	_instanceId : 0,

	z发送者ID: 0,//UInt32--------
	z接收者ID: 0,//UInt32--------
	z表情编号: 0,//Int32--------
	z消息内容: "",//String--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return z发送者ID;
			case 14:
				return z接收者ID;
			case 17:
				return z表情编号;
			case 19:
				return z消息内容;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				z发送者ID = obj;
				break;
			case 14:
				z接收者ID = obj;
				break;
			case 17:
				z表情编号 = obj;
				break;
			case 19:
				z消息内容 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z发送者ID != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(z发送者ID);//ֵ
		}
		if (z接收者ID != 0) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.Write(z接收者ID);//ֵ
		}
		if (z表情编号 != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(z表情编号);//ֵ
		}
		if (string.IsNullOrEmpty(z消息内容) == false) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.S_WriteByteObj(z消息内容, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					z发送者ID = binaryReader.ReadUInt32();
					break;
				case 14:
					z接收者ID = binaryReader.ReadUInt32();
					break;
				case 17:
					z表情编号 = binaryReader.ReadInt32();
					break;
				case 19:
				z消息内容 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_004_FriendChat.STC_013_收到好友消息.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.z发送者ID;//--
		str = str + "  &14=" + this.z接收者ID;//--
		str = str + "  &17=" + this.z表情编号;//--
		str = str + "  &19=" + this.z消息内容;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.z发送者ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 14:
						this.z接收者ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 17:
						this.z表情编号 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 19:
						this.z消息内容 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.STC_013_收到好友消息_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32", "", "", "z发送者ID", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_013_收到好友消息"),
		"14" : new CSUtils.AField(14, "System.UInt32", "", "", "z接收者ID", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_013_收到好友消息"),
		"17" : new CSUtils.AField(17, "System.Int32", "", "", "z表情编号", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_013_收到好友消息"),
		"19" : new CSUtils.AField(19, "System.String", "", "", "z消息内容", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_013_收到好友消息"),
	},
}

//--------0_01_004_015----
//----发送好友是否在线33--
CNetwork.STC_015_发送好友是否在线 = function(){}
CNetwork.STC_015_发送好友是否在线.prototype = {
	get m_className() {return "STC_015_发送好友是否在线";},
	get m_typeId() {return "0_01_004_015";},
	get m_typeTag() {return "发送好友是否在线33";},
	get m_fieldArr() {return CNetwork.STC_015_发送好友是否在线_dic.m_fieldArr;},
	_instanceId : 0,

	o_playerIds: {},//UInt32[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 15:
				return o_playerIds;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 15:
				o_playerIds = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_playerIds != null && o_playerIds.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_playerIds, EBaseType.e007_uint);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 15:
					o_playerIds = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_004_FriendChat.STC_015_发送好友是否在线.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_playerIds, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 15:
						this.o_playerIds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
				}
			} catch { }
		}
	},
}

CNetwork.STC_015_发送好友是否在线_dic = { 
	"m_fieldArr" : {
		"15" : new CSUtils.AField(15, "System.UInt32[]", "", "", "o_playerIds", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_015_发送好友是否在线"),
	},
}

//--------0_01_004_017----
//----回复好友是否在线33--
CNetwork.STC_017_回复好友是否在线 = function(){}
CNetwork.STC_017_回复好友是否在线.prototype = {
	get m_className() {return "STC_017_回复好友是否在线";},
	get m_typeId() {return "0_01_004_017";},
	get m_typeTag() {return "回复好友是否在线33";},
	get m_fieldArr() {return CNetwork.STC_017_回复好友是否在线_dic.m_fieldArr;},
	_instanceId : 0,

	z目标ID: {},//UInt32[]--------
	z目标姓名: {},//String[]--------
	z目标头像: {},//String[]--------
	z目标服务器IP: {},//String[]--------
	z战斗力: {},//UInt16[]--------
	zX经度: {},//Int32[]--------
	zY纬度: {},//Int32[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return z目标ID;
			case 13:
				return z目标姓名;
			case 15:
				return z目标头像;
			case 18:
				return z目标服务器IP;
			case 21:
				return z战斗力;
			case 25:
				return zX经度;
			case 26:
				return zY纬度;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				z目标ID = obj;
				break;
			case 13:
				z目标姓名 = obj;
				break;
			case 15:
				z目标头像 = obj;
				break;
			case 18:
				z目标服务器IP = obj;
				break;
			case 21:
				z战斗力 = obj;
				break;
			case 25:
				zX经度 = obj;
				break;
			case 26:
				zY纬度 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z目标ID != null && z目标ID.Length > 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标ID, EBaseType.e007_uint);//����
		}
		if (z目标姓名 != null && z目标姓名.Length > 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标姓名, EBaseType.e012_string);//����
		}
		if (z目标头像 != null && z目标头像.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标头像, EBaseType.e012_string);//����
		}
		if (z目标服务器IP != null && z目标服务器IP.Length > 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标服务器IP, EBaseType.e012_string);//����
		}
		if (z战斗力 != null && z战斗力.Length > 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.S_WriteByteArray(z战斗力, EBaseType.e005_ushort);//����
		}
		if (zX经度 != null && zX经度.Length > 0) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.S_WriteByteArray(zX经度, EBaseType.e006_int);//����
		}
		if (zY纬度 != null && zY纬度.Length > 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteArray(zY纬度, EBaseType.e006_int);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					z目标ID = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 13:
					z目标姓名 = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
					z目标头像 = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 18:
					z目标服务器IP = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 21:
					z战斗力 = binaryReader.S_ReadByteArray(EBaseType.e005_ushort, System.UInt16, uintObjDic);
					break;
				case 25:
					zX经度 = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 26:
					zY纬度 = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_004_FriendChat.STC_017_回复好友是否在线.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标ID, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &13=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标姓名, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标头像, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &18=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标服务器IP, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &21=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z战斗力, EBaseType.e018_array, EBaseType.e005_ushort);
		str = str + "  &25=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.zX经度, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &26=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.zY纬度, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.z目标ID = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 13:
						this.z目标姓名 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 15:
						this.z目标头像 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 18:
						this.z目标服务器IP = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 21:
						this.z战斗力 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e005_ushort, uintObjDic); //System.UInt16
						break;
					case 25:
						this.zX经度 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 26:
						this.zY纬度 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
				}
			} catch { }
		}
	},
}

CNetwork.STC_017_回复好友是否在线_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32[]", "", "", "z目标ID", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_017_回复好友是否在线"),
		"13" : new CSUtils.AField(13, "System.String[]", "", "", "z目标姓名", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_017_回复好友是否在线"),
		"15" : new CSUtils.AField(15, "System.String[]", "", "", "z目标头像", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_017_回复好友是否在线"),
		"18" : new CSUtils.AField(18, "System.String[]", "", "", "z目标服务器IP", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_017_回复好友是否在线"),
		"21" : new CSUtils.AField(21, "System.UInt16[]", "", "", "z战斗力", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_017_回复好友是否在线"),
		"25" : new CSUtils.AField(25, "System.Int32[]", "", "", "zX经度", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_017_回复好友是否在线"),
		"26" : new CSUtils.AField(26, "System.Int32[]", "", "", "zY纬度", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_017_回复好友是否在线"),
	},
}

//--------0_01_004_050----
//----附近的玩家33--
CNetwork.STC_050_附近的玩家 = function(){}
CNetwork.STC_050_附近的玩家.prototype = {
	get m_className() {return "STC_050_附近的玩家";},
	get m_typeId() {return "0_01_004_050";},
	get m_typeTag() {return "附近的玩家33";},
	get m_fieldArr() {return CNetwork.STC_050_附近的玩家_dic.m_fieldArr;},
	_instanceId : 0,

	z目标ID: {},//UInt32[]--------
	z目标姓名: {},//String[]--------
	z目标头像: {},//String[]--------
	z目标服务器IP: {},//String[]--------
	z战斗力: {},//UInt16[]--------
	zX经度: {},//Int32[]--------
	zY纬度: {},//Int32[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return z目标ID;
			case 13:
				return z目标姓名;
			case 15:
				return z目标头像;
			case 18:
				return z目标服务器IP;
			case 21:
				return z战斗力;
			case 25:
				return zX经度;
			case 26:
				return zY纬度;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				z目标ID = obj;
				break;
			case 13:
				z目标姓名 = obj;
				break;
			case 15:
				z目标头像 = obj;
				break;
			case 18:
				z目标服务器IP = obj;
				break;
			case 21:
				z战斗力 = obj;
				break;
			case 25:
				zX经度 = obj;
				break;
			case 26:
				zY纬度 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z目标ID != null && z目标ID.Length > 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标ID, EBaseType.e007_uint);//����
		}
		if (z目标姓名 != null && z目标姓名.Length > 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标姓名, EBaseType.e012_string);//����
		}
		if (z目标头像 != null && z目标头像.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标头像, EBaseType.e012_string);//����
		}
		if (z目标服务器IP != null && z目标服务器IP.Length > 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标服务器IP, EBaseType.e012_string);//����
		}
		if (z战斗力 != null && z战斗力.Length > 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.S_WriteByteArray(z战斗力, EBaseType.e005_ushort);//����
		}
		if (zX经度 != null && zX经度.Length > 0) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.S_WriteByteArray(zX经度, EBaseType.e006_int);//����
		}
		if (zY纬度 != null && zY纬度.Length > 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteArray(zY纬度, EBaseType.e006_int);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					z目标ID = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 13:
					z目标姓名 = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
					z目标头像 = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 18:
					z目标服务器IP = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 21:
					z战斗力 = binaryReader.S_ReadByteArray(EBaseType.e005_ushort, System.UInt16, uintObjDic);
					break;
				case 25:
					zX经度 = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 26:
					zY纬度 = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_004_FriendChat.STC_050_附近的玩家.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标ID, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &13=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标姓名, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标头像, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &18=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标服务器IP, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &21=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z战斗力, EBaseType.e018_array, EBaseType.e005_ushort);
		str = str + "  &25=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.zX经度, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &26=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.zY纬度, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.z目标ID = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 13:
						this.z目标姓名 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 15:
						this.z目标头像 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 18:
						this.z目标服务器IP = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 21:
						this.z战斗力 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e005_ushort, uintObjDic); //System.UInt16
						break;
					case 25:
						this.zX经度 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 26:
						this.zY纬度 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
				}
			} catch { }
		}
	},
}

CNetwork.STC_050_附近的玩家_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32[]", "", "", "z目标ID", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_050_附近的玩家"),
		"13" : new CSUtils.AField(13, "System.String[]", "", "", "z目标姓名", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_050_附近的玩家"),
		"15" : new CSUtils.AField(15, "System.String[]", "", "", "z目标头像", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_050_附近的玩家"),
		"18" : new CSUtils.AField(18, "System.String[]", "", "", "z目标服务器IP", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_050_附近的玩家"),
		"21" : new CSUtils.AField(21, "System.UInt16[]", "", "", "z战斗力", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_050_附近的玩家"),
		"25" : new CSUtils.AField(25, "System.Int32[]", "", "", "zX经度", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_050_附近的玩家"),
		"26" : new CSUtils.AField(26, "System.Int32[]", "", "", "zY纬度", 3, "0", "100", null, 0, "Protocol_004_FriendChat.STC_050_附近的玩家"),
	},
}

//--------0_01_002_002----
//----ssss--
CNetwork.Msg_003_PlayerData = function(){}
CNetwork.Msg_003_PlayerData.prototype = {
	get m_className() {return "Msg_003_PlayerData";},
	get m_typeId() {return "0_01_002_002";},
	get m_typeTag() {return "ssss";},
	get m_fieldArr() {return CNetwork.Msg_003_PlayerData_dic.m_fieldArr;},
	_instanceId : 0,

	ii: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return ii;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				ii = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (ii != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(ii);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					ii = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_002_GameData.Msg_003_PlayerData.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.ii;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.ii = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Msg_003_PlayerData_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "ii", 3, "0", "100", null, 0, "Protocol_002_GameData.Msg_003_PlayerData"),
	},
}

//--------0_01_002_025----
//----ss--
CNetwork.Sync_PlayerInfo = function(){}
CNetwork.Sync_PlayerInfo.prototype = {
	get m_className() {return "Sync_PlayerInfo";},
	get m_typeId() {return "0_01_002_025";},
	get m_typeTag() {return "ss";},
	get m_fieldArr() {return CNetwork.Sync_PlayerInfo_dic.m_fieldArr;},
	_instanceId : 0,

	o_playerIndex: 0,//Int32--------
	o_PlayerName: "",//String--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_playerIndex;
			case 13:
				return o_PlayerName;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_playerIndex = obj;
				break;
			case 13:
				o_PlayerName = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_playerIndex != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_playerIndex);//ֵ
		}
		if (string.IsNullOrEmpty(o_PlayerName) == false) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_PlayerName, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					o_playerIndex = binaryReader.ReadInt32();
					break;
				case 13:
				o_PlayerName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_002_GameData.Sync_PlayerInfo.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_playerIndex;//--
		str = str + "  &13=" + this.o_PlayerName;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_playerIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 13:
						this.o_PlayerName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_PlayerInfo_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "o_playerIndex", 3, "0", "100", null, 0, "Protocol_002_GameData.Sync_PlayerInfo"),
		"13" : new CSUtils.AField(13, "System.String", "", "", "o_PlayerName", 3, "0", "100", null, 0, "Protocol_002_GameData.Sync_PlayerInfo"),
	},
}

//--------0_01_002_029----
//----GameDataReq--
CNetwork.Sync_GameDataReq = function(){}
CNetwork.Sync_GameDataReq.prototype = {
	get m_className() {return "Sync_GameDataReq";},
	get m_typeId() {return "0_01_002_029";},
	get m_typeTag() {return "GameDataReq";},
	get m_fieldArr() {return CNetwork.Sync_GameDataReq_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.Protocol_002_GameData.Sync_GameDataReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CNetwork.Sync_GameDataReq_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_01_002_030----
//----GameDataResp--
CNetwork.Sync_GameDataResp = function(){}
CNetwork.Sync_GameDataResp.prototype = {
	get m_className() {return "Sync_GameDataResp";},
	get m_typeId() {return "0_01_002_030";},
	get m_typeTag() {return "GameDataResp";},
	get m_fieldArr() {return CNetwork.Sync_GameDataResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_datas: {},//CObjData[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 18:
				return o_datas;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 18:
				o_datas = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_datas != null && o_datas.Length > 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_datas, EBaseType.e021_weData);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 18:
					o_datas = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.CObjData, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_002_GameData.Sync_GameDataResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &18=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_datas, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 18:
						this.o_datas = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.CObjData
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_GameDataResp_dic = { 
	"m_fieldArr" : {
		"18" : new CSUtils.AField(18, "U3dGame.CObjData[]", "", "", "o_datas", 3, "0", "100", null, 0, "Protocol_002_GameData.Sync_GameDataResp"),
	},
}

//--------0_01_002_033----
//----投票Sync_Vote--
CNetwork.Sync_Vote = function(){}
CNetwork.Sync_Vote.prototype = {
	get m_className() {return "Sync_Vote";},
	get m_typeId() {return "0_01_002_033";},
	get m_typeTag() {return "投票Sync_Vote";},
	get m_fieldArr() {return CNetwork.Sync_Vote_dic.m_fieldArr;},
	_instanceId : 0,

	o_voteId: 0,//Int32--------
	o_isTrue: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_voteId;
			case 13:
				return o_isTrue;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_voteId = obj;
				break;
			case 13:
				o_isTrue = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_voteId != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_voteId);//ֵ
		}
		if (o_isTrue != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_isTrue);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					o_voteId = binaryReader.ReadInt32();
					break;
				case 13:
					o_isTrue = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.Protocol_002_GameData.Sync_Vote.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_voteId;//--
		str = str + "  &13=" + this.o_isTrue;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_voteId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 13:
						this.o_isTrue = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CNetwork.Sync_Vote_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "", "", "o_voteId", 3, "0", "100", null, 0, "Protocol_002_GameData.Sync_Vote"),
		"13" : new CSUtils.AField(13, "System.Int32", "", "", "o_isTrue", 3, "0", "100", null, 0, "Protocol_002_GameData.Sync_Vote"),
	},
}

//--------0_01_002_035----
//----进入场景--
CNetwork.Sync_EnterScene = function(){}
CNetwork.Sync_EnterScene.prototype = {
	get m_className() {return "Sync_EnterScene";},
	get m_typeId() {return "0_01_002_035";},
	get m_typeTag() {return "进入场景";},
	get m_fieldArr() {return CNetwork.Sync_EnterScene_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.Protocol_002_GameData.Sync_EnterScene.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CNetwork.Sync_EnterScene_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_04_022_005----
//----模板.Cfg物体--
CSExcelTools.Template_Prefab = function(){}
CSExcelTools.Template_Prefab.prototype = {
	get m_className() {return "Template_Prefab";},
	get m_typeId() {return "10_04_022_005";},
	get m_typeTag() {return "模板.Cfg物体";},
	get m_fieldArr() {return CSExcelTools.Template_Prefab_dic.m_fieldArr;},
	_instanceId : 0,

	onlyPath: {a:0,b:0,c:0,d:0},//CInt4----物体编号----1,19,1,0
	o_constant: "",//String----常量----
	o_explain: "",//String----解释/n----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 1:
				return onlyPath;
			case 2:
				return o_constant;
			case 3:
				return o_explain;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 1:
				onlyPath = obj;
				break;
			case 2:
				o_constant = obj;
				break;
			case 3:
				o_explain = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (onlyPath != null && onlyPath != CInt4.zero) {
			binaryWriter.Write(1);//�ֶ�����
			binaryWriter.S_WriteByteObj(onlyPath, EBaseType.e014_Int4);
		}
		if (string.IsNullOrEmpty(o_constant) == false) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_constant, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_explain) == false) {
			binaryWriter.Write(3);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_explain, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 1:
				onlyPath = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 2:
				o_constant = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 3:
				o_explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.M3ExcelToConfig.Template_Prefab.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &1=" + this.onlyPath;//--物体编号
		str = str + "  &2=" + this.o_constant;//--常量
		str = str + "  &3=" + this.o_explain;//--解释/n
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 1:
						this.onlyPath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 2:
						this.o_constant = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 3:
						this.o_explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CSExcelTools.Template_Prefab_dic = { 
	"m_fieldArr" : {
		"1" : new CSUtils.AField(1, "CSUtilss.CInt4", "物体编号", "1,19,1,0", "onlyPath", 3, "0", "100", null, 0, "M3ExcelToConfig.Template_Prefab"),
		"2" : new CSUtils.AField(2, "System.String", "常量", "", "o_constant", 3, "0", "100", null, 0, "M3ExcelToConfig.Template_Prefab"),
		"3" : new CSUtils.AField(3, "System.String", "解释/n", "", "o_explain", 3, "0", "100", null, 0, "M3ExcelToConfig.Template_Prefab"),
	},
}

//--------400_01_001_002----
//----z4曲线--
CSUtilss.C4Curve = function(){}
CSUtilss.C4Curve.prototype = {
	get m_className() {return "C4Curve";},
	get m_typeId() {return "400_01_001_002";},
	get m_typeTag() {return "z4曲线";},
	get m_fieldArr() {return CSUtilss.C4Curve_dic.m_fieldArr;},
	_instanceId : 0,

	o_startPoint: 0,//Single----0=开始值----
	o_endPoint: 0,//Single----1=结束值----
	o_endLevel: 0,//Int32----2=结束的等级----
	o_pow: 0,//Single----3=pow曲率----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 20:
				return o_startPoint;
			case 22:
				return o_endPoint;
			case 24:
				return o_endLevel;
			case 26:
				return o_pow;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 20:
				o_startPoint = obj;
				break;
			case 22:
				o_endPoint = obj;
				break;
			case 24:
				o_endLevel = obj;
				break;
			case 26:
				o_pow = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_startPoint != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(o_startPoint);//ֵ
		}
		if (o_endPoint != 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.Write(o_endPoint);//ֵ
		}
		if (o_endLevel != 0) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.Write(o_endLevel);//ֵ
		}
		if (o_pow != 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.Write(o_pow);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 20:
				o_startPoint = binaryReader.ReadSingle();
					break;
				case 22:
				o_endPoint = binaryReader.ReadSingle();
					break;
				case 24:
					o_endLevel = binaryReader.ReadInt32();
					break;
				case 26:
				o_pow = binaryReader.ReadSingle();
					break;
				default:
					CLog.ef("�����л�����.____.CSUtilss.C4Curve.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &20=" + this.o_startPoint;//--0=开始值
		str = str + "  &22=" + this.o_endPoint;//--1=结束值
		str = str + "  &24=" + this.o_endLevel;//--2=结束的等级
		str = str + "  &26=" + this.o_pow;//--3=pow曲率
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 20:
						this.o_startPoint = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 22:
						this.o_endPoint = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 24:
						this.o_endLevel = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 26:
						this.o_pow = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CSUtilss.C4Curve_dic = { 
	"m_fieldArr" : {
		"20" : new CSUtils.AField(20, "System.Single", "0=开始值", "", "o_startPoint", 3, "0", "100", null, 0, "CSUtilss.C4Curve"),
		"22" : new CSUtils.AField(22, "System.Single", "1=结束值", "", "o_endPoint", 3, "0", "100", null, 0, "CSUtilss.C4Curve"),
		"24" : new CSUtils.AField(24, "System.Int32", "2=结束的等级", "", "o_endLevel", 3, "0", "100", null, 0, "CSUtilss.C4Curve"),
		"26" : new CSUtils.AField(26, "System.Single", "3=pow曲率", "", "o_pow", 3, "0", "100", null, 0, "CSUtilss.C4Curve"),
	},
}

//--------0_00_009_002----
//----Send_505进入Moba房间Resp--
CS_GameService.Protocol.Send_505EnterMobaRoomResp = function(){}
CS_GameService.Protocol.Send_505EnterMobaRoomResp.prototype = {
	get m_className() {return "Send_505EnterMobaRoomResp";},
	get m_typeId() {return "0_00_009_002";},
	get m_typeTag() {return "Send_505进入Moba房间Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.Send_505EnterMobaRoomResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//UInt16----roomId----
	o_游戏已用时间: 0,//Int32----已用时间----
	o_玩家ID列表: {},//UInt32[]----玩家IDs----
	o_方阵类型s: {},//Byte[]----方阵类型----
	o_playerNames: {},//String[]----Names----
	o_headPortraits: {},//String[]----头像----
	o_Serv玩家位置: 0,//Byte----Serv位置----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 21:
				return o_roomId;
			case 23:
				return o_游戏已用时间;
			case 26:
				return o_玩家ID列表;
			case 27:
				return o_方阵类型s;
			case 29:
				return o_playerNames;
			case 32:
				return o_headPortraits;
			case 34:
				return o_Serv玩家位置;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 21:
				o_roomId = obj;
				break;
			case 23:
				o_游戏已用时间 = obj;
				break;
			case 26:
				o_玩家ID列表 = obj;
				break;
			case 27:
				o_方阵类型s = obj;
				break;
			case 29:
				o_playerNames = obj;
				break;
			case 32:
				o_headPortraits = obj;
				break;
			case 34:
				o_Serv玩家位置 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_游戏已用时间 != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(o_游戏已用时间);//ֵ
		}
		if (o_玩家ID列表 != null && o_玩家ID列表.Length > 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_玩家ID列表, EBaseType.e007_uint);//����
		}
		if (o_方阵类型s != null && o_方阵类型s.Length > 0) {
			binaryWriter.Write(27);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_方阵类型s, EBaseType.e003_byte);//����
		}
		if (o_playerNames != null && o_playerNames.Length > 0) {
			binaryWriter.Write(29);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_playerNames, EBaseType.e012_string);//����
		}
		if (o_headPortraits != null && o_headPortraits.Length > 0) {
			binaryWriter.Write(32);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_headPortraits, EBaseType.e012_string);//����
		}
		if (o_Serv玩家位置 != 0) {
			binaryWriter.Write(34);//�ֶ�����
			binaryWriter.Write(o_Serv玩家位置);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 21:
			o_roomId = binaryReader.ReadUInt16();
					break;
				case 23:
					o_游戏已用时间 = binaryReader.ReadInt32();
					break;
				case 26:
					o_玩家ID列表 = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 27:
					o_方阵类型s = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				case 29:
					o_playerNames = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 32:
					o_headPortraits = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 34:
				o_Serv玩家位置 = binaryReader.ReadByte();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Matching.Send_505EnterMobaRoomResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &21=" + this.o_roomId;//--roomId
		str = str + "  &23=" + this.o_游戏已用时间;//--已用时间
		str = str + "  &26=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_玩家ID列表, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &27=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_方阵类型s, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "  &29=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_playerNames, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &32=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_headPortraits, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &34=" + this.o_Serv玩家位置;//--Serv位置
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 21:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 23:
						this.o_游戏已用时间 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 26:
						this.o_玩家ID列表 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 27:
						this.o_方阵类型s = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
					case 29:
						this.o_playerNames = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 32:
						this.o_headPortraits = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 34:
						this.o_Serv玩家位置 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Send_505EnterMobaRoomResp_dic = { 
	"m_fieldArr" : {
		"21" : new CSUtils.AField(21, "System.UInt16", "roomId", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.Matching.Send_505EnterMobaRoomResp"),
		"23" : new CSUtils.AField(23, "System.Int32", "已用时间", "", "o_游戏已用时间", 3, "0", "100", null, 0, "GS.P.Matching.Send_505EnterMobaRoomResp"),
		"26" : new CSUtils.AField(26, "System.UInt32[]", "玩家IDs", "", "o_玩家ID列表", 3, "0", "100", null, 0, "GS.P.Matching.Send_505EnterMobaRoomResp"),
		"27" : new CSUtils.AField(27, "System.Byte[]", "方阵类型", "", "o_方阵类型s", 3, "0", "100", null, 0, "GS.P.Matching.Send_505EnterMobaRoomResp"),
		"29" : new CSUtils.AField(29, "System.String[]", "Names", "", "o_playerNames", 3, "0", "100", null, 0, "GS.P.Matching.Send_505EnterMobaRoomResp"),
		"32" : new CSUtils.AField(32, "System.String[]", "头像", "", "o_headPortraits", 3, "0", "100", null, 0, "GS.P.Matching.Send_505EnterMobaRoomResp"),
		"34" : new CSUtils.AField(34, "System.Byte", "Serv位置", "", "o_Serv玩家位置", 3, "0", "100", null, 0, "GS.P.Matching.Send_505EnterMobaRoomResp"),
	},
}

//--------0_00_009_003----
//----Send_508请求创建组队房间Req--
CS_GameService.Protocol.Send_508请求创建组队房间Req = function(){}
CS_GameService.Protocol.Send_508请求创建组队房间Req.prototype = {
	get m_className() {return "Send_508请求创建组队房间Req";},
	get m_typeId() {return "0_00_009_003";},
	get m_typeTag() {return "Send_508请求创建组队房间Req";},
	get m_fieldArr() {return CS_GameService.Protocol.Send_508请求创建组队房间Req_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.GS.P.Matching.Send_508请求创建组队房间Req.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Send_508请求创建组队房间Req_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_00_009_010----
//----Send_508请求创建组队房间Resp--
CS_GameService.Protocol.Send_508请求创建组队房间Resp = function(){}
CS_GameService.Protocol.Send_508请求创建组队房间Resp.prototype = {
	get m_className() {return "Send_508请求创建组队房间Resp";},
	get m_typeId() {return "0_00_009_010";},
	get m_typeTag() {return "Send_508请求创建组队房间Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.Send_508请求创建组队房间Resp_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//UInt16--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 20:
				return o_roomId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 20:
				o_roomId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 20:
			o_roomId = binaryReader.ReadUInt16();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Matching.Send_508请求创建组队房间Resp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &20=" + this.o_roomId;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 20:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Send_508请求创建组队房间Resp_dic = { 
	"m_fieldArr" : {
		"20" : new CSUtils.AField(20, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.Matching.Send_508请求创建组队房间Resp"),
	},
}

//--------0_00_009_015----
//----Send_516退出或解散队伍Req--
CS_GameService.Protocol.Send_516退出或解散队伍Req = function(){}
CS_GameService.Protocol.Send_516退出或解散队伍Req.prototype = {
	get m_className() {return "Send_516退出或解散队伍Req";},
	get m_typeId() {return "0_00_009_015";},
	get m_typeTag() {return "Send_516退出或解散队伍Req";},
	get m_fieldArr() {return CS_GameService.Protocol.Send_516退出或解散队伍Req_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//UInt16--------
	o_playerId: 0,//UInt32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 21:
				return o_roomId;
			case 23:
				return o_playerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 21:
				o_roomId = obj;
				break;
			case 23:
				o_playerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_playerId != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 21:
			o_roomId = binaryReader.ReadUInt16();
					break;
				case 23:
					o_playerId = binaryReader.ReadUInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Matching.Send_516退出或解散队伍Req.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &21=" + this.o_roomId;//--
		str = str + "  &23=" + this.o_playerId;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 21:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 23:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Send_516退出或解散队伍Req_dic = { 
	"m_fieldArr" : {
		"21" : new CSUtils.AField(21, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.Matching.Send_516退出或解散队伍Req"),
		"23" : new CSUtils.AField(23, "System.UInt32", "", "", "o_playerId", 3, "0", "100", null, 0, "GS.P.Matching.Send_516退出或解散队伍Req"),
	},
}

//--------0_00_009_017----
//----Send_516退出队伍Resp--
CS_GameService.Protocol.Send_516退出队伍Resp = function(){}
CS_GameService.Protocol.Send_516退出队伍Resp.prototype = {
	get m_className() {return "Send_516退出队伍Resp";},
	get m_typeId() {return "0_00_009_017";},
	get m_typeTag() {return "Send_516退出队伍Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.Send_516退出队伍Resp_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//UInt16--------
	o_playerId: 0,//UInt32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 21:
				return o_roomId;
			case 23:
				return o_playerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 21:
				o_roomId = obj;
				break;
			case 23:
				o_playerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_playerId != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 21:
			o_roomId = binaryReader.ReadUInt16();
					break;
				case 23:
					o_playerId = binaryReader.ReadUInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Matching.Send_516退出队伍Resp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &21=" + this.o_roomId;//--
		str = str + "  &23=" + this.o_playerId;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 21:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 23:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Send_516退出队伍Resp_dic = { 
	"m_fieldArr" : {
		"21" : new CSUtils.AField(21, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.Matching.Send_516退出队伍Resp"),
		"23" : new CSUtils.AField(23, "System.UInt32", "", "", "o_playerId", 3, "0", "100", null, 0, "GS.P.Matching.Send_516退出队伍Resp"),
	},
}

//--------0_00_009_020----
//----Send_526解散房间Resp--
CS_GameService.Protocol.Send_526解散房间Resp = function(){}
CS_GameService.Protocol.Send_526解散房间Resp.prototype = {
	get m_className() {return "Send_526解散房间Resp";},
	get m_typeId() {return "0_00_009_020";},
	get m_typeTag() {return "Send_526解散房间Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.Send_526解散房间Resp_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//UInt32--------
	o_playerId: 0,//UInt32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 21:
				return o_roomId;
			case 23:
				return o_playerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 21:
				o_roomId = obj;
				break;
			case 23:
				o_playerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_playerId != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 21:
					o_roomId = binaryReader.ReadUInt32();
					break;
				case 23:
					o_playerId = binaryReader.ReadUInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Matching.Send_526解散房间Resp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &21=" + this.o_roomId;//--
		str = str + "  &23=" + this.o_playerId;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 21:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 23:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Send_526解散房间Resp_dic = { 
	"m_fieldArr" : {
		"21" : new CSUtils.AField(21, "System.UInt32", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.Matching.Send_526解散房间Resp"),
		"23" : new CSUtils.AField(23, "System.UInt32", "", "", "o_playerId", 3, "0", "100", null, 0, "GS.P.Matching.Send_526解散房间Resp"),
	},
}

//--------0_00_009_030----
//----进入匹配场景Req--
CS_GameService.Protocol.Msg_640EnterBattleSceneReq = function(){}
CS_GameService.Protocol.Msg_640EnterBattleSceneReq.prototype = {
	get m_className() {return "Msg_640EnterBattleSceneReq";},
	get m_typeId() {return "0_00_009_030";},
	get m_typeTag() {return "进入匹配场景Req";},
	get m_fieldArr() {return CS_GameService.Protocol.Msg_640EnterBattleSceneReq_dic.m_fieldArr;},
	_instanceId : 0,

	e_voteId: 0,//Byte----投票Id----
	e_playerId: 0,//UInt32----playerId----
	e_voteResult: 0,//Byte----投票结果----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 20:
				return e_voteId;
			case 22:
				return e_playerId;
			case 26:
				return e_voteResult;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 20:
				e_voteId = obj;
				break;
			case 22:
				e_playerId = obj;
				break;
			case 26:
				e_voteResult = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (e_voteId != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(e_voteId);//ֵ
		}
		if (e_playerId != 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.Write(e_playerId);//ֵ
		}
		if (e_voteResult != 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.Write(e_voteResult);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 20:
				e_voteId = binaryReader.ReadByte();
					break;
				case 22:
					e_playerId = binaryReader.ReadUInt32();
					break;
				case 26:
				e_voteResult = binaryReader.ReadByte();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Matching.Msg_640EnterBattleSceneReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &20=" + this.e_voteId;//--投票Id
		str = str + "  &22=" + this.e_playerId;//--playerId
		str = str + "  &26=" + this.e_voteResult;//--投票结果
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 20:
						this.e_voteId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 22:
						this.e_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 26:
						this.e_voteResult = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Msg_640EnterBattleSceneReq_dic = { 
	"m_fieldArr" : {
		"20" : new CSUtils.AField(20, "System.Byte", "投票Id", "", "e_voteId", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteReq<GS.P.Matching.Msg_640EnterBattleSceneReq,GS.P.Matching.Msg_640EnterBattleSceneResp>"),
		"22" : new CSUtils.AField(22, "System.UInt32", "playerId", "", "e_playerId", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteReq<GS.P.Matching.Msg_640EnterBattleSceneReq,GS.P.Matching.Msg_640EnterBattleSceneResp>"),
		"26" : new CSUtils.AField(26, "System.Byte", "投票结果", "", "e_voteResult", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteReq<GS.P.Matching.Msg_640EnterBattleSceneReq,GS.P.Matching.Msg_640EnterBattleSceneResp>"),
	},
}

//--------0_00_009_033----
//----进入匹配场景Resp--
CS_GameService.Protocol.Msg_640EnterBattleSceneResp = function(){}
CS_GameService.Protocol.Msg_640EnterBattleSceneResp.prototype = {
	get m_className() {return "Msg_640EnterBattleSceneResp";},
	get m_typeId() {return "0_00_009_033";},
	get m_typeTag() {return "进入匹配场景Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.Msg_640EnterBattleSceneResp_dic.m_fieldArr;},
	_instanceId : 0,

	e_voteId: 0,//Byte----投票Id----
	o_playerNumber: 0,//Byte--------
	e_playerIds: {},//UInt32[]----playerIds----
	o_roomId: 0,//UInt16--------
	o_serverPlayerIndex: 0,//Byte--------
	e_voteResults: {},//Byte[]----投票结果----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 20:
				return e_voteId;
			case 23:
				return o_playerNumber;
			case 24:
				return e_playerIds;
			case 25:
				return o_roomId;
			case 27:
				return o_serverPlayerIndex;
			case 28:
				return e_voteResults;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 20:
				e_voteId = obj;
				break;
			case 23:
				o_playerNumber = obj;
				break;
			case 24:
				e_playerIds = obj;
				break;
			case 25:
				o_roomId = obj;
				break;
			case 27:
				o_serverPlayerIndex = obj;
				break;
			case 28:
				e_voteResults = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (e_voteId != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(e_voteId);//ֵ
		}
		if (o_playerNumber != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(o_playerNumber);//ֵ
		}
		if (e_playerIds != null && e_playerIds.Length > 0) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteArray(e_playerIds, EBaseType.e007_uint);//����
		}
		if (o_roomId != 0) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_serverPlayerIndex != 0) {
			binaryWriter.Write(27);//�ֶ�����
			binaryWriter.Write(o_serverPlayerIndex);//ֵ
		}
		if (e_voteResults != null && e_voteResults.Length > 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.S_WriteByteArray(e_voteResults, EBaseType.e003_byte);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 20:
				e_voteId = binaryReader.ReadByte();
					break;
				case 23:
				o_playerNumber = binaryReader.ReadByte();
					break;
				case 24:
					e_playerIds = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 25:
			o_roomId = binaryReader.ReadUInt16();
					break;
				case 27:
				o_serverPlayerIndex = binaryReader.ReadByte();
					break;
				case 28:
					e_voteResults = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Matching.Msg_640EnterBattleSceneResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &20=" + this.e_voteId;//--投票Id
		str = str + "  &23=" + this.o_playerNumber;//--
		str = str + "  &24=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.e_playerIds, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &25=" + this.o_roomId;//--
		str = str + "  &27=" + this.o_serverPlayerIndex;//--
		str = str + "  &28=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.e_voteResults, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 20:
						this.e_voteId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 23:
						this.o_playerNumber = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 24:
						this.e_playerIds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 25:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 27:
						this.o_serverPlayerIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 28:
						this.e_voteResults = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Msg_640EnterBattleSceneResp_dic = { 
	"m_fieldArr" : {
		"20" : new CSUtils.AField(20, "System.Byte", "投票Id", "", "e_voteId", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteResp<GS.P.Matching.Msg_640EnterBattleSceneReq,GS.P.Matching.Msg_640EnterBattleSceneResp>"),
		"23" : new CSUtils.AField(23, "System.Byte", "", "", "o_playerNumber", 3, "0", "100", null, 0, "GS.P.Matching.Msg_640EnterBattleSceneResp"),
		"24" : new CSUtils.AField(24, "System.UInt32[]", "playerIds", "", "e_playerIds", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteResp<GS.P.Matching.Msg_640EnterBattleSceneReq,GS.P.Matching.Msg_640EnterBattleSceneResp>"),
		"25" : new CSUtils.AField(25, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.Matching.Msg_640EnterBattleSceneResp"),
		"27" : new CSUtils.AField(27, "System.Byte", "", "", "o_serverPlayerIndex", 3, "0", "100", null, 0, "GS.P.Matching.Msg_640EnterBattleSceneResp"),
		"28" : new CSUtils.AField(28, "System.Byte[]", "投票结果", "", "e_voteResults", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteResp<GS.P.Matching.Msg_640EnterBattleSceneReq,GS.P.Matching.Msg_640EnterBattleSceneResp>"),
	},
}

//--------0_00_006_005----
//----请求恢复帧数据.C_RecoverFrameReq--
CS_GameService.Protocol.C_RecoverFrameReq = function(){}
CS_GameService.Protocol.C_RecoverFrameReq.prototype = {
	get m_className() {return "C_RecoverFrameReq";},
	get m_typeId() {return "0_00_006_005";},
	get m_typeTag() {return "请求恢复帧数据.C_RecoverFrameReq";},
	get m_fieldArr() {return CS_GameService.Protocol.C_RecoverFrameReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_recoverFrameIndex: 0,//UInt32--------
	o_roomPassword: "",//String--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_recoverFrameIndex;
			case 13:
				return o_roomPassword;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_recoverFrameIndex = obj;
				break;
			case 13:
				o_roomPassword = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_recoverFrameIndex != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_recoverFrameIndex);//ֵ
		}
		if (string.IsNullOrEmpty(o_roomPassword) == false) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_roomPassword, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					o_recoverFrameIndex = binaryReader.ReadUInt32();
					break;
				case 13:
				o_roomPassword = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_RecoverFrameReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_recoverFrameIndex;//--
		str = str + "  &13=" + this.o_roomPassword;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_recoverFrameIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 13:
						this.o_roomPassword = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_RecoverFrameReq_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32", "", "", "o_recoverFrameIndex", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_RecoverFrameReq"),
		"13" : new CSUtils.AField(13, "System.String", "", "", "o_roomPassword", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_RecoverFrameReq"),
	},
}

//--------0_00_006_006----
//----请求恢复帧数据.C_RecoverFrameResp--
CS_GameService.Protocol.C_RecoverFrameResp = function(){}
CS_GameService.Protocol.C_RecoverFrameResp.prototype = {
	get m_className() {return "C_RecoverFrameResp";},
	get m_typeId() {return "0_00_006_006";},
	get m_typeTag() {return "请求恢复帧数据.C_RecoverFrameResp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_RecoverFrameResp_dic.m_fieldArr;},
	_instanceId : 0,

	_data: {},//Dto_FrameData[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 13:
				return _data;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 13:
				_data = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_data != null && _data.Length > 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteArray(_data, EBaseType.e021_weData);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 13:
					_data = binaryReader.S_ReadByteArray(EBaseType.e021_weData, GS.P.Basics.Dto_FrameData, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_RecoverFrameResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &13=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._data, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 13:
						this._data = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //GS.P.Basics.Dto_FrameData
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_RecoverFrameResp_dic = { 
	"m_fieldArr" : {
		"13" : new CSUtils.AField(13, "GS.P.Basics.Dto_FrameData[]", "", "", "_data", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_RecoverFrameResp"),
	},
}

//--------0_00_006_009----
//----单人匹配.Req--
CS_GameService.Protocol.C_500SingleMatchingReq = function(){}
CS_GameService.Protocol.C_500SingleMatchingReq.prototype = {
	get m_className() {return "C_500SingleMatchingReq";},
	get m_typeId() {return "0_00_006_009";},
	get m_typeTag() {return "单人匹配.Req";},
	get m_fieldArr() {return CS_GameService.Protocol.C_500SingleMatchingReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_gamePackageName: "",//String----包名----
	o_syncTime: 0,//Byte--------
	o_roomPlayerMaxNumber: 0,//Byte----maxNumber----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_gamePackageName;
			case 14:
				return o_syncTime;
			case 17:
				return o_roomPlayerMaxNumber;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_gamePackageName = obj;
				break;
			case 14:
				o_syncTime = obj;
				break;
			case 17:
				o_roomPlayerMaxNumber = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(o_gamePackageName) == false) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_gamePackageName, EBaseType.e012_string);
		}
		if (o_syncTime != 0) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.Write(o_syncTime);//ֵ
		}
		if (o_roomPlayerMaxNumber != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(o_roomPlayerMaxNumber);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_gamePackageName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 14:
				o_syncTime = binaryReader.ReadByte();
					break;
				case 17:
				o_roomPlayerMaxNumber = binaryReader.ReadByte();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_500SingleMatchingReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_gamePackageName;//--包名
		str = str + "  &14=" + this.o_syncTime;//--
		str = str + "  &17=" + this.o_roomPlayerMaxNumber;//--maxNumber
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_gamePackageName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 14:
						this.o_syncTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 17:
						this.o_roomPlayerMaxNumber = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_500SingleMatchingReq_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.String", "包名", "", "o_gamePackageName", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingReq"),
		"14" : new CSUtils.AField(14, "System.Byte", "", "", "o_syncTime", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingReq"),
		"17" : new CSUtils.AField(17, "System.Byte", "maxNumber", "", "o_roomPlayerMaxNumber", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingReq"),
	},
}

//--------0_00_006_010----
//----单人匹配.Resp--
CS_GameService.Protocol.C_500SingleMatchingResp = function(){}
CS_GameService.Protocol.C_500SingleMatchingResp.prototype = {
	get m_className() {return "C_500SingleMatchingResp";},
	get m_typeId() {return "0_00_006_010";},
	get m_typeTag() {return "单人匹配.Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_500SingleMatchingResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_state: 0,//Byte----状态----
	o_roomId: 0,//UInt16----房间Id----
	o_roomStartCountdown: 0,//Byte----倒计时----
	o_playerIds: {},//UInt32[]----playerIds----
	o_playerNames: {},//String[]----名字----
	o_playerHeadPortraits: {},//String[]----头像----
	o_serverPlayerId: 0,//UInt32----serverId----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_state;
			case 13:
				return o_roomId;
			case 16:
				return o_roomStartCountdown;
			case 32:
				return o_playerIds;
			case 33:
				return o_playerNames;
			case 34:
				return o_playerHeadPortraits;
			case 40:
				return o_serverPlayerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_state = obj;
				break;
			case 13:
				o_roomId = obj;
				break;
			case 16:
				o_roomStartCountdown = obj;
				break;
			case 32:
				o_playerIds = obj;
				break;
			case 33:
				o_playerNames = obj;
				break;
			case 34:
				o_playerHeadPortraits = obj;
				break;
			case 40:
				o_serverPlayerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_state != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_state);//ֵ
		}
		if (o_roomId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_roomStartCountdown != 0) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.Write(o_roomStartCountdown);//ֵ
		}
		if (o_playerIds != null && o_playerIds.Length > 0) {
			binaryWriter.Write(32);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_playerIds, EBaseType.e007_uint);//����
		}
		if (o_playerNames != null && o_playerNames.Length > 0) {
			binaryWriter.Write(33);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_playerNames, EBaseType.e012_string);//����
		}
		if (o_playerHeadPortraits != null && o_playerHeadPortraits.Length > 0) {
			binaryWriter.Write(34);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_playerHeadPortraits, EBaseType.e012_string);//����
		}
		if (o_serverPlayerId != 0) {
			binaryWriter.Write(40);//�ֶ�����
			binaryWriter.Write(o_serverPlayerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_state = binaryReader.ReadByte();
					break;
				case 13:
			o_roomId = binaryReader.ReadUInt16();
					break;
				case 16:
				o_roomStartCountdown = binaryReader.ReadByte();
					break;
				case 32:
					o_playerIds = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 33:
					o_playerNames = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 34:
					o_playerHeadPortraits = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 40:
					o_serverPlayerId = binaryReader.ReadUInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_500SingleMatchingResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_state;//--状态
		str = str + "  &13=" + this.o_roomId;//--房间Id
		str = str + "  &16=" + this.o_roomStartCountdown;//--倒计时
		str = str + "  &32=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_playerIds, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &33=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_playerNames, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &34=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_playerHeadPortraits, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &40=" + this.o_serverPlayerId;//--serverId
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_state = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 13:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 16:
						this.o_roomStartCountdown = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 32:
						this.o_playerIds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 33:
						this.o_playerNames = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 34:
						this.o_playerHeadPortraits = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 40:
						this.o_serverPlayerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_500SingleMatchingResp_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Byte", "状态", "", "o_state", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingResp"),
		"13" : new CSUtils.AField(13, "System.UInt16", "房间Id", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingResp"),
		"16" : new CSUtils.AField(16, "System.Byte", "倒计时", "", "o_roomStartCountdown", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingResp"),
		"32" : new CSUtils.AField(32, "System.UInt32[]", "playerIds", "", "o_playerIds", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingResp"),
		"33" : new CSUtils.AField(33, "System.String[]", "名字", "", "o_playerNames", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingResp"),
		"34" : new CSUtils.AField(34, "System.String[]", "头像", "", "o_playerHeadPortraits", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingResp"),
		"40" : new CSUtils.AField(40, "System.UInt32", "serverId", "", "o_serverPlayerId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_500SingleMatchingResp"),
	},
}

//--------0_00_006_013----
//----组队匹配_邀请其他玩家.Req--
CS_GameService.Protocol.C_501TeamMatchingReq = function(){}
CS_GameService.Protocol.C_501TeamMatchingReq.prototype = {
	get m_className() {return "C_501TeamMatchingReq";},
	get m_typeId() {return "0_00_006_013";},
	get m_typeTag() {return "组队匹配_邀请其他玩家.Req";},
	get m_fieldArr() {return CS_GameService.Protocol.C_501TeamMatchingReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_gamePackageName: "",//String----包名----
	o_roomId: 0,//UInt16--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_gamePackageName;
			case 14:
				return o_roomId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_gamePackageName = obj;
				break;
			case 14:
				o_roomId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(o_gamePackageName) == false) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_gamePackageName, EBaseType.e012_string);
		}
		if (o_roomId != 0) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_gamePackageName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 14:
			o_roomId = binaryReader.ReadUInt16();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_501TeamMatchingReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_gamePackageName;//--包名
		str = str + "  &14=" + this.o_roomId;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_gamePackageName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 14:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_501TeamMatchingReq_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.String", "包名", "", "o_gamePackageName", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_501TeamMatchingReq"),
		"14" : new CSUtils.AField(14, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_501TeamMatchingReq"),
	},
}

//--------0_00_006_014----
//----组队匹配_邀请其他玩家.Resp--
CS_GameService.Protocol.C_501TeamMatchingResp = function(){}
CS_GameService.Protocol.C_501TeamMatchingResp.prototype = {
	get m_className() {return "C_501TeamMatchingResp";},
	get m_typeId() {return "0_00_006_014";},
	get m_typeTag() {return "组队匹配_邀请其他玩家.Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_501TeamMatchingResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_state: 0,//Byte--------
	o_roomId: 0,//UInt16--------
	o_roomStartCountdown: 0,//Int16--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_state;
			case 13:
				return o_roomId;
			case 16:
				return o_roomStartCountdown;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_state = obj;
				break;
			case 13:
				o_roomId = obj;
				break;
			case 16:
				o_roomStartCountdown = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_state != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_state);//ֵ
		}
		if (o_roomId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_roomStartCountdown != 0) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.Write(o_roomStartCountdown);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_state = binaryReader.ReadByte();
					break;
				case 13:
			o_roomId = binaryReader.ReadUInt16();
					break;
				case 16:
					o_roomStartCountdown = binaryReader.ReadInt16();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_501TeamMatchingResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_state;//--
		str = str + "  &13=" + this.o_roomId;//--
		str = str + "  &16=" + this.o_roomStartCountdown;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_state = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 13:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 16:
						this.o_roomStartCountdown = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_501TeamMatchingResp_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Byte", "", "", "o_state", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_501TeamMatchingResp"),
		"13" : new CSUtils.AField(13, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_501TeamMatchingResp"),
		"16" : new CSUtils.AField(16, "System.Int16", "", "", "o_roomStartCountdown", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_501TeamMatchingResp"),
	},
}

//--------0_00_006_021----
//----取消匹配.C_CancelMatchingReq--
CS_GameService.Protocol.C_503CancelMatchingReq = function(){}
CS_GameService.Protocol.C_503CancelMatchingReq.prototype = {
	get m_className() {return "C_503CancelMatchingReq";},
	get m_typeId() {return "0_00_006_021";},
	get m_typeTag() {return "取消匹配.C_CancelMatchingReq";},
	get m_fieldArr() {return CS_GameService.Protocol.C_503CancelMatchingReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_gamePackageName: "",//String--------
	o_roomId: 0,//UInt16--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_gamePackageName;
			case 14:
				return o_roomId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_gamePackageName = obj;
				break;
			case 14:
				o_roomId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(o_gamePackageName) == false) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_gamePackageName, EBaseType.e012_string);
		}
		if (o_roomId != 0) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_gamePackageName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 14:
			o_roomId = binaryReader.ReadUInt16();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_503CancelMatchingReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_gamePackageName;//--
		str = str + "  &14=" + this.o_roomId;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_gamePackageName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 14:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_503CancelMatchingReq_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.String", "", "", "o_gamePackageName", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_503CancelMatchingReq"),
		"14" : new CSUtils.AField(14, "System.UInt16", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_503CancelMatchingReq"),
	},
}

//--------0_00_006_022----
//----取消匹配Resp--
CS_GameService.Protocol.C_503CancelMatchingResp = function(){}
CS_GameService.Protocol.C_503CancelMatchingResp.prototype = {
	get m_className() {return "C_503CancelMatchingResp";},
	get m_typeId() {return "0_00_006_022";},
	get m_typeTag() {return "取消匹配Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_503CancelMatchingResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_state: 0,//Byte--------
	o_roomId: 0,//Int16--------
	o_roomStartCountdown: 0,//Int16--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_state;
			case 13:
				return o_roomId;
			case 16:
				return o_roomStartCountdown;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_state = obj;
				break;
			case 13:
				o_roomId = obj;
				break;
			case 16:
				o_roomStartCountdown = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_state != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_state);//ֵ
		}
		if (o_roomId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_roomStartCountdown != 0) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.Write(o_roomStartCountdown);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_state = binaryReader.ReadByte();
					break;
				case 13:
					o_roomId = binaryReader.ReadInt16();
					break;
				case 16:
					o_roomStartCountdown = binaryReader.ReadInt16();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_503CancelMatchingResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_state;//--
		str = str + "  &13=" + this.o_roomId;//--
		str = str + "  &16=" + this.o_roomStartCountdown;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_state = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 13:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
					case 16:
						this.o_roomStartCountdown = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_503CancelMatchingResp_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Byte", "", "", "o_state", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_503CancelMatchingResp"),
		"13" : new CSUtils.AField(13, "System.Int16", "", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_503CancelMatchingResp"),
		"16" : new CSUtils.AField(16, "System.Int16", "", "", "o_roomStartCountdown", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_503CancelMatchingResp"),
	},
}

//--------0_00_006_035----
//----断线重连--
CS_GameService.Protocol.C_DisconnectionAndReconnectionReq = function(){}
CS_GameService.Protocol.C_DisconnectionAndReconnectionReq.prototype = {
	get m_className() {return "C_DisconnectionAndReconnectionReq";},
	get m_typeId() {return "0_00_006_035";},
	get m_typeTag() {return "断线重连";},
	get m_fieldArr() {return CS_GameService.Protocol.C_DisconnectionAndReconnectionReq_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_DisconnectionAndReconnectionReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_DisconnectionAndReconnectionReq_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_00_006_036----
//----断线重连Resp--
CS_GameService.Protocol.C_DisconnectionAndReconnectionResp = function(){}
CS_GameService.Protocol.C_DisconnectionAndReconnectionResp.prototype = {
	get m_className() {return "C_DisconnectionAndReconnectionResp";},
	get m_typeId() {return "0_00_006_036";},
	get m_typeTag() {return "断线重连Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_DisconnectionAndReconnectionResp_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_DisconnectionAndReconnectionResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_DisconnectionAndReconnectionResp_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_00_006_045----
//----指定服务器玩家--
CS_GameService.Protocol.C_SetServerPlayerReq = function(){}
CS_GameService.Protocol.C_SetServerPlayerReq.prototype = {
	get m_className() {return "C_SetServerPlayerReq";},
	get m_typeId() {return "0_00_006_045";},
	get m_typeTag() {return "指定服务器玩家";},
	get m_fieldArr() {return CS_GameService.Protocol.C_SetServerPlayerReq_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_SetServerPlayerReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_SetServerPlayerReq_dic = { 
	"m_fieldArr" : {
	},
}

//--------0_00_006_046----
//----指定服务器玩家Resp--
CS_GameService.Protocol.C_530SetServerPlayerResp = function(){}
CS_GameService.Protocol.C_530SetServerPlayerResp.prototype = {
	get m_className() {return "C_530SetServerPlayerResp";},
	get m_typeId() {return "0_00_006_046";},
	get m_typeTag() {return "指定服务器玩家Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_530SetServerPlayerResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_serverPlayerId: 0,//UInt32----serverId----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 30:
				return o_serverPlayerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 30:
				o_serverPlayerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_serverPlayerId != 0) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.Write(o_serverPlayerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 30:
					o_serverPlayerId = binaryReader.ReadUInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_530SetServerPlayerResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &30=" + this.o_serverPlayerId;//--serverId
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 30:
						this.o_serverPlayerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_530SetServerPlayerResp_dic = { 
	"m_fieldArr" : {
		"30" : new CSUtils.AField(30, "System.UInt32", "serverId", "", "o_serverPlayerId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_530SetServerPlayerResp"),
	},
}

//--------0_00_006_048----
//----进入游戏房间Resp--
CS_GameService.Protocol.C_EnterGameRoomResp = function(){}
CS_GameService.Protocol.C_EnterGameRoomResp.prototype = {
	get m_className() {return "C_EnterGameRoomResp";},
	get m_typeId() {return "0_00_006_048";},
	get m_typeTag() {return "进入游戏房间Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_EnterGameRoomResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//UInt16----房间Id----
	o_playerId: 0,//UInt32----playerId----
	o_playerName: "",//String----名字----
	o_playerHeadPortrait: "",//String----头像----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 13:
				return o_roomId;
			case 32:
				return o_playerId;
			case 33:
				return o_playerName;
			case 34:
				return o_playerHeadPortrait;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 13:
				o_roomId = obj;
				break;
			case 32:
				o_playerId = obj;
				break;
			case 33:
				o_playerName = obj;
				break;
			case 34:
				o_playerHeadPortrait = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_playerId != 0) {
			binaryWriter.Write(32);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		if (string.IsNullOrEmpty(o_playerName) == false) {
			binaryWriter.Write(33);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_playerName, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_playerHeadPortrait) == false) {
			binaryWriter.Write(34);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_playerHeadPortrait, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 13:
			o_roomId = binaryReader.ReadUInt16();
					break;
				case 32:
					o_playerId = binaryReader.ReadUInt32();
					break;
				case 33:
				o_playerName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 34:
				o_playerHeadPortrait = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_EnterGameRoomResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &13=" + this.o_roomId;//--房间Id
		str = str + "  &32=" + this.o_playerId;//--playerId
		str = str + "  &33=" + this.o_playerName;//--名字
		str = str + "  &34=" + this.o_playerHeadPortrait;//--头像
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 13:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e005_ushort, uintObjDic);
						break;
					case 32:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 33:
						this.o_playerName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 34:
						this.o_playerHeadPortrait = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_EnterGameRoomResp_dic = { 
	"m_fieldArr" : {
		"13" : new CSUtils.AField(13, "System.UInt16", "房间Id", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_EnterGameRoomResp"),
		"32" : new CSUtils.AField(32, "System.UInt32", "playerId", "", "o_playerId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_EnterGameRoomResp"),
		"33" : new CSUtils.AField(33, "System.String", "名字", "", "o_playerName", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_EnterGameRoomResp"),
		"34" : new CSUtils.AField(34, "System.String", "头像", "", "o_playerHeadPortrait", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_EnterGameRoomResp"),
	},
}

//--------0_00_006_051----
//----强制退出游戏--
CS_GameService.Protocol.C_ForceQuitGameReq = function(){}
CS_GameService.Protocol.C_ForceQuitGameReq.prototype = {
	get m_className() {return "C_ForceQuitGameReq";},
	get m_typeId() {return "0_00_006_051";},
	get m_typeTag() {return "强制退出游戏";},
	get m_fieldArr() {return CS_GameService.Protocol.C_ForceQuitGameReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//Int16----房间Id----
	o_playerId: 0,//Int32----playerIds----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 13:
				return o_roomId;
			case 32:
				return o_playerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 13:
				o_roomId = obj;
				break;
			case 32:
				o_playerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_playerId != 0) {
			binaryWriter.Write(32);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 13:
					o_roomId = binaryReader.ReadInt16();
					break;
				case 32:
					o_playerId = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_ForceQuitGameReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &13=" + this.o_roomId;//--房间Id
		str = str + "  &32=" + this.o_playerId;//--playerIds
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 13:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
					case 32:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_ForceQuitGameReq_dic = { 
	"m_fieldArr" : {
		"13" : new CSUtils.AField(13, "System.Int16", "房间Id", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_ForceQuitGameReq"),
		"32" : new CSUtils.AField(32, "System.Int32", "playerIds", "", "o_playerId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_ForceQuitGameReq"),
	},
}

//--------0_00_006_052----
//----强制退出游戏Resp--
CS_GameService.Protocol.C_ForceQuitGameResp = function(){}
CS_GameService.Protocol.C_ForceQuitGameResp.prototype = {
	get m_className() {return "C_ForceQuitGameResp";},
	get m_typeId() {return "0_00_006_052";},
	get m_typeTag() {return "强制退出游戏Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_ForceQuitGameResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//Int16----房间Id----
	o_playerId: 0,//Int32----playerIds----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 13:
				return o_roomId;
			case 32:
				return o_playerId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 13:
				o_roomId = obj;
				break;
			case 32:
				o_playerId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		if (o_playerId != 0) {
			binaryWriter.Write(32);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 13:
					o_roomId = binaryReader.ReadInt16();
					break;
				case 32:
					o_playerId = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_ForceQuitGameResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &13=" + this.o_roomId;//--房间Id
		str = str + "  &32=" + this.o_playerId;//--playerIds
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 13:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
					case 32:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_ForceQuitGameResp_dic = { 
	"m_fieldArr" : {
		"13" : new CSUtils.AField(13, "System.Int16", "房间Id", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_ForceQuitGameResp"),
		"32" : new CSUtils.AField(32, "System.Int32", "playerIds", "", "o_playerId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_ForceQuitGameResp"),
	},
}

//--------0_00_006_053----
//----游戏房间结束--
CS_GameService.Protocol.C_GameRoomEndReq = function(){}
CS_GameService.Protocol.C_GameRoomEndReq.prototype = {
	get m_className() {return "C_GameRoomEndReq";},
	get m_typeId() {return "0_00_006_053";},
	get m_typeTag() {return "游戏房间结束";},
	get m_fieldArr() {return CS_GameService.Protocol.C_GameRoomEndReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//Int16----房间Id----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 13:
				return o_roomId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 13:
				o_roomId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 13:
					o_roomId = binaryReader.ReadInt16();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_GameRoomEndReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &13=" + this.o_roomId;//--房间Id
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 13:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_GameRoomEndReq_dic = { 
	"m_fieldArr" : {
		"13" : new CSUtils.AField(13, "System.Int16", "房间Id", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_GameRoomEndReq"),
	},
}

//--------0_00_006_054----
//----游戏房间结束Resp--
CS_GameService.Protocol.C_GameRoomEndResp = function(){}
CS_GameService.Protocol.C_GameRoomEndResp.prototype = {
	get m_className() {return "C_GameRoomEndResp";},
	get m_typeId() {return "0_00_006_054";},
	get m_typeTag() {return "游戏房间结束Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_GameRoomEndResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_roomId: 0,//Int16----房间Id----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 13:
				return o_roomId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 13:
				o_roomId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_roomId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_roomId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 13:
					o_roomId = binaryReader.ReadInt16();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FrameSyncRoom.C_GameRoomEndResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &13=" + this.o_roomId;//--房间Id
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 13:
						this.o_roomId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_GameRoomEndResp_dic = { 
	"m_fieldArr" : {
		"13" : new CSUtils.AField(13, "System.Int16", "房间Id", "", "o_roomId", 3, "0", "100", null, 0, "GS.P.FrameSyncRoom.C_GameRoomEndResp"),
	},
}

//--------0_00_005_001----
//----房间投票Req--
CS_GameService.Protocol.Dto_RoomVoteReq = function(){}
CS_GameService.Protocol.Dto_RoomVoteReq.prototype = {
	get m_className() {return "Dto_RoomVoteReq";},
	get m_typeId() {return "0_00_005_001";},
	get m_typeTag() {return "房间投票Req";},
	get m_fieldArr() {return CS_GameService.Protocol.Dto_RoomVoteReq_dic.m_fieldArr;},
	_instanceId : 0,

	e_voteId: 0,//Byte----投票Id----
	e_playerId: 0,//UInt32----playerId----
	e_voteResult: 0,//Byte----投票结果----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 20:
				return e_voteId;
			case 22:
				return e_playerId;
			case 26:
				return e_voteResult;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 20:
				e_voteId = obj;
				break;
			case 22:
				e_playerId = obj;
				break;
			case 26:
				e_voteResult = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (e_voteId != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(e_voteId);//ֵ
		}
		if (e_playerId != 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.Write(e_playerId);//ֵ
		}
		if (e_voteResult != 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.Write(e_voteResult);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 20:
				e_voteId = binaryReader.ReadByte();
					break;
				case 22:
					e_playerId = binaryReader.ReadUInt32();
					break;
				case 26:
				e_voteResult = binaryReader.ReadByte();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.MobaRoom.Dto_RoomVoteReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &20=" + this.e_voteId;//--投票Id
		str = str + "  &22=" + this.e_playerId;//--playerId
		str = str + "  &26=" + this.e_voteResult;//--投票结果
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 20:
						this.e_voteId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 22:
						this.e_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 26:
						this.e_voteResult = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Dto_RoomVoteReq_dic = { 
	"m_fieldArr" : {
		"20" : new CSUtils.AField(20, "System.Byte", "投票Id", "", "e_voteId", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteReq<GS.P.MobaRoom.Dto_RoomVoteReq,GS.P.MobaRoom.C_RoomVoteResp>"),
		"22" : new CSUtils.AField(22, "System.UInt32", "playerId", "", "e_playerId", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteReq<GS.P.MobaRoom.Dto_RoomVoteReq,GS.P.MobaRoom.C_RoomVoteResp>"),
		"26" : new CSUtils.AField(26, "System.Byte", "投票结果", "", "e_voteResult", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteReq<GS.P.MobaRoom.Dto_RoomVoteReq,GS.P.MobaRoom.C_RoomVoteResp>"),
	},
}

//--------0_00_005_003----
//----房间投票Resp--
CS_GameService.Protocol.C_RoomVoteResp = function(){}
CS_GameService.Protocol.C_RoomVoteResp.prototype = {
	get m_className() {return "C_RoomVoteResp";},
	get m_typeId() {return "0_00_005_003";},
	get m_typeTag() {return "房间投票Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_RoomVoteResp_dic.m_fieldArr;},
	_instanceId : 0,

	e_voteId: 0,//Byte----投票Id----
	e_playerIds: {},//UInt32[]----playerIds----
	e_voteResults: {},//Byte[]----投票结果----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 20:
				return e_voteId;
			case 24:
				return e_playerIds;
			case 28:
				return e_voteResults;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 20:
				e_voteId = obj;
				break;
			case 24:
				e_playerIds = obj;
				break;
			case 28:
				e_voteResults = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (e_voteId != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(e_voteId);//ֵ
		}
		if (e_playerIds != null && e_playerIds.Length > 0) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteArray(e_playerIds, EBaseType.e007_uint);//����
		}
		if (e_voteResults != null && e_voteResults.Length > 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.S_WriteByteArray(e_voteResults, EBaseType.e003_byte);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 20:
				e_voteId = binaryReader.ReadByte();
					break;
				case 24:
					e_playerIds = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 28:
					e_voteResults = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.MobaRoom.C_RoomVoteResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &20=" + this.e_voteId;//--投票Id
		str = str + "  &24=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.e_playerIds, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &28=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.e_voteResults, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 20:
						this.e_voteId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 24:
						this.e_playerIds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 28:
						this.e_voteResults = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_RoomVoteResp_dic = { 
	"m_fieldArr" : {
		"20" : new CSUtils.AField(20, "System.Byte", "投票Id", "", "e_voteId", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteResp<GS.P.MobaRoom.Dto_RoomVoteReq,GS.P.MobaRoom.C_RoomVoteResp>"),
		"24" : new CSUtils.AField(24, "System.UInt32[]", "playerIds", "", "e_playerIds", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteResp<GS.P.MobaRoom.Dto_RoomVoteReq,GS.P.MobaRoom.C_RoomVoteResp>"),
		"28" : new CSUtils.AField(28, "System.Byte[]", "投票结果", "", "e_voteResults", 3, "0", "100", null, 0, "GS.P.MobaRoom.II_RoomVoteResp<GS.P.MobaRoom.Dto_RoomVoteReq,GS.P.MobaRoom.C_RoomVoteResp>"),
	},
}

//--------0_00_004_010----
//----申请添加好友--
CS_GameService.Protocol.S2C_010_申请添加好友 = function(){}
CS_GameService.Protocol.S2C_010_申请添加好友.prototype = {
	get m_className() {return "S2C_010_申请添加好友";},
	get m_typeId() {return "0_00_004_010";},
	get m_typeTag() {return "申请添加好友";},
	get m_fieldArr() {return CS_GameService.Protocol.S2C_010_申请添加好友_dic.m_fieldArr;},
	_instanceId : 0,

	z申请者ID: 0,//UInt32--------
	z申请者姓名: "",//String--------
	z申请者头像: "",//String--------
	z申请者服务器IP: "",//String--------
	z战斗力: 0,//Int16--------
	zX经度: 0,//Int32--------
	zY纬度: 0,//Int32--------
	z目标ID: 0,//Int32--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return z申请者ID;
			case 12:
				return z申请者姓名;
			case 14:
				return z申请者头像;
			case 16:
				return z申请者服务器IP;
			case 17:
				return z战斗力;
			case 19:
				return zX经度;
			case 21:
				return zY纬度;
			case 23:
				return z目标ID;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				z申请者ID = obj;
				break;
			case 12:
				z申请者姓名 = obj;
				break;
			case 14:
				z申请者头像 = obj;
				break;
			case 16:
				z申请者服务器IP = obj;
				break;
			case 17:
				z战斗力 = obj;
				break;
			case 19:
				zX经度 = obj;
				break;
			case 21:
				zY纬度 = obj;
				break;
			case 23:
				z目标ID = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z申请者ID != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(z申请者ID);//ֵ
		}
		if (string.IsNullOrEmpty(z申请者姓名) == false) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteObj(z申请者姓名, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(z申请者头像) == false) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.S_WriteByteObj(z申请者头像, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(z申请者服务器IP) == false) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.S_WriteByteObj(z申请者服务器IP, EBaseType.e012_string);
		}
		if (z战斗力 != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(z战斗力);//ֵ
		}
		if (zX经度 != 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.Write(zX经度);//ֵ
		}
		if (zY纬度 != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(zY纬度);//ֵ
		}
		if (z目标ID != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(z目标ID);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					z申请者ID = binaryReader.ReadUInt32();
					break;
				case 12:
				z申请者姓名 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 14:
				z申请者头像 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 16:
				z申请者服务器IP = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 17:
					z战斗力 = binaryReader.ReadInt16();
					break;
				case 19:
					zX经度 = binaryReader.ReadInt32();
					break;
				case 21:
					zY纬度 = binaryReader.ReadInt32();
					break;
				case 23:
					z目标ID = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FriendChat.S2C_010_申请添加好友.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.z申请者ID;//--
		str = str + "  &12=" + this.z申请者姓名;//--
		str = str + "  &14=" + this.z申请者头像;//--
		str = str + "  &16=" + this.z申请者服务器IP;//--
		str = str + "  &17=" + this.z战斗力;//--
		str = str + "  &19=" + this.zX经度;//--
		str = str + "  &21=" + this.zY纬度;//--
		str = str + "  &23=" + this.z目标ID;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.z申请者ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 12:
						this.z申请者姓名 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 14:
						this.z申请者头像 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 16:
						this.z申请者服务器IP = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 17:
						this.z战斗力 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
					case 19:
						this.zX经度 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 21:
						this.zY纬度 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 23:
						this.z目标ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.S2C_010_申请添加好友_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32", "", "", "z申请者ID", 3, "0", "100", null, 0, "GS.P.FriendChat.S2C_010_申请添加好友"),
		"12" : new CSUtils.AField(12, "System.String", "", "", "z申请者姓名", 3, "0", "100", null, 0, "GS.P.FriendChat.S2C_010_申请添加好友"),
		"14" : new CSUtils.AField(14, "System.String", "", "", "z申请者头像", 3, "0", "100", null, 0, "GS.P.FriendChat.S2C_010_申请添加好友"),
		"16" : new CSUtils.AField(16, "System.String", "", "", "z申请者服务器IP", 3, "0", "100", null, 0, "GS.P.FriendChat.S2C_010_申请添加好友"),
		"17" : new CSUtils.AField(17, "System.Int16", "", "", "z战斗力", 3, "0", "100", null, 0, "GS.P.FriendChat.S2C_010_申请添加好友"),
		"19" : new CSUtils.AField(19, "System.Int32", "", "", "zX经度", 3, "0", "100", null, 0, "GS.P.FriendChat.S2C_010_申请添加好友"),
		"21" : new CSUtils.AField(21, "System.Int32", "", "", "zY纬度", 3, "0", "100", null, 0, "GS.P.FriendChat.S2C_010_申请添加好友"),
		"23" : new CSUtils.AField(23, "System.Int32", "", "", "z目标ID", 3, "0", "100", null, 0, "GS.P.FriendChat.S2C_010_申请添加好友"),
	},
}

//--------0_00_004_011----
//----回复添加好友--
CS_GameService.Protocol.STC_011_回复添加好友 = function(){}
CS_GameService.Protocol.STC_011_回复添加好友.prototype = {
	get m_className() {return "STC_011_回复添加好友";},
	get m_typeId() {return "0_00_004_011";},
	get m_typeTag() {return "回复添加好友";},
	get m_fieldArr() {return CS_GameService.Protocol.STC_011_回复添加好友_dic.m_fieldArr;},
	_instanceId : 0,

	z申请者ID: 0,//UInt32--------
	z目标ID: 0,//UInt32--------
	z目标姓名: "",//String--------
	z目标头像: "",//String--------
	z目标服务器IP: "",//String--------
	z战斗力: 0,//Int16--------
	zX经度: 0,//Int32--------
	zY纬度: 0,//Int32--------
	z是否同意添加好友: false,
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 10:
				return z申请者ID;
			case 11:
				return z目标ID;
			case 13:
				return z目标姓名;
			case 15:
				return z目标头像;
			case 17:
				return z目标服务器IP;
			case 19:
				return z战斗力;
			case 21:
				return zX经度;
			case 25:
				return zY纬度;
			case 28:
				return z是否同意添加好友;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 10:
				z申请者ID = obj;
				break;
			case 11:
				z目标ID = obj;
				break;
			case 13:
				z目标姓名 = obj;
				break;
			case 15:
				z目标头像 = obj;
				break;
			case 17:
				z目标服务器IP = obj;
				break;
			case 19:
				z战斗力 = obj;
				break;
			case 21:
				zX经度 = obj;
				break;
			case 25:
				zY纬度 = obj;
				break;
			case 28:
				z是否同意添加好友 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z申请者ID != 0) {
			binaryWriter.Write(10);//�ֶ�����
			binaryWriter.Write(z申请者ID);//ֵ
		}
		if (z目标ID != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(z目标ID);//ֵ
		}
		if (string.IsNullOrEmpty(z目标姓名) == false) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteObj(z目标姓名, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(z目标头像) == false) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteObj(z目标头像, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(z目标服务器IP) == false) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.S_WriteByteObj(z目标服务器IP, EBaseType.e012_string);
		}
		if (z战斗力 != 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.Write(z战斗力);//ֵ
		}
		if (zX经度 != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(zX经度);//ֵ
		}
		if (zY纬度 != 0) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.Write(zY纬度);//ֵ
		}
		if (z是否同意添加好友 != false) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.Write(z是否同意添加好友);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 10:
					z申请者ID = binaryReader.ReadUInt32();
					break;
				case 11:
					z目标ID = binaryReader.ReadUInt32();
					break;
				case 13:
				z目标姓名 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
				z目标头像 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 17:
				z目标服务器IP = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 19:
					z战斗力 = binaryReader.ReadInt16();
					break;
				case 21:
					zX经度 = binaryReader.ReadInt32();
					break;
				case 25:
					zY纬度 = binaryReader.ReadInt32();
					break;
				case 28:
					z是否同意添加好友 = binaryReader.ReadBoolean();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FriendChat.STC_011_回复添加好友.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &10=" + this.z申请者ID;//--
		str = str + "  &11=" + this.z目标ID;//--
		str = str + "  &13=" + this.z目标姓名;//--
		str = str + "  &15=" + this.z目标头像;//--
		str = str + "  &17=" + this.z目标服务器IP;//--
		str = str + "  &19=" + this.z战斗力;//--
		str = str + "  &21=" + this.zX经度;//--
		str = str + "  &25=" + this.zY纬度;//--
		str = str + "  &28=" + this.z是否同意添加好友;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 10:
						this.z申请者ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 11:
						this.z目标ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 13:
						this.z目标姓名 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 15:
						this.z目标头像 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 17:
						this.z目标服务器IP = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 19:
						this.z战斗力 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
					case 21:
						this.zX经度 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 25:
						this.zY纬度 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 28:
						this.z是否同意添加好友 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.STC_011_回复添加好友_dic = { 
	"m_fieldArr" : {
		"10" : new CSUtils.AField(10, "System.UInt32", "", "", "z申请者ID", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
		"11" : new CSUtils.AField(11, "System.UInt32", "", "", "z目标ID", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
		"13" : new CSUtils.AField(13, "System.String", "", "", "z目标姓名", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
		"15" : new CSUtils.AField(15, "System.String", "", "", "z目标头像", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
		"17" : new CSUtils.AField(17, "System.String", "", "", "z目标服务器IP", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
		"19" : new CSUtils.AField(19, "System.Int16", "", "", "z战斗力", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
		"21" : new CSUtils.AField(21, "System.Int32", "", "", "zX经度", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
		"25" : new CSUtils.AField(25, "System.Int32", "", "", "zY纬度", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
		"28" : new CSUtils.AField(28, "System.Boolean", "", "", "z是否同意添加好友", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_011_回复添加好友"),
	},
}

//--------0_00_004_013----
//----收到好友消息--
CS_GameService.Protocol.STC_013_收到好友消息 = function(){}
CS_GameService.Protocol.STC_013_收到好友消息.prototype = {
	get m_className() {return "STC_013_收到好友消息";},
	get m_typeId() {return "0_00_004_013";},
	get m_typeTag() {return "收到好友消息";},
	get m_fieldArr() {return CS_GameService.Protocol.STC_013_收到好友消息_dic.m_fieldArr;},
	_instanceId : 0,

	z发送者ID: 0,//UInt32--------
	z接收者ID: 0,//UInt32--------
	z表情编号: 0,//Int32--------
	z消息内容: "",//String--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return z发送者ID;
			case 14:
				return z接收者ID;
			case 17:
				return z表情编号;
			case 19:
				return z消息内容;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				z发送者ID = obj;
				break;
			case 14:
				z接收者ID = obj;
				break;
			case 17:
				z表情编号 = obj;
				break;
			case 19:
				z消息内容 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z发送者ID != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(z发送者ID);//ֵ
		}
		if (z接收者ID != 0) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.Write(z接收者ID);//ֵ
		}
		if (z表情编号 != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(z表情编号);//ֵ
		}
		if (string.IsNullOrEmpty(z消息内容) == false) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.S_WriteByteObj(z消息内容, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					z发送者ID = binaryReader.ReadUInt32();
					break;
				case 14:
					z接收者ID = binaryReader.ReadUInt32();
					break;
				case 17:
					z表情编号 = binaryReader.ReadInt32();
					break;
				case 19:
				z消息内容 = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FriendChat.STC_013_收到好友消息.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.z发送者ID;//--
		str = str + "  &14=" + this.z接收者ID;//--
		str = str + "  &17=" + this.z表情编号;//--
		str = str + "  &19=" + this.z消息内容;//--
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.z发送者ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 14:
						this.z接收者ID = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 17:
						this.z表情编号 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 19:
						this.z消息内容 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.STC_013_收到好友消息_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32", "", "", "z发送者ID", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_013_收到好友消息"),
		"14" : new CSUtils.AField(14, "System.UInt32", "", "", "z接收者ID", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_013_收到好友消息"),
		"17" : new CSUtils.AField(17, "System.Int32", "", "", "z表情编号", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_013_收到好友消息"),
		"19" : new CSUtils.AField(19, "System.String", "", "", "z消息内容", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_013_收到好友消息"),
	},
}

//--------0_00_004_015----
//----发送好友是否在线--
CS_GameService.Protocol.STC_015_发送好友是否在线 = function(){}
CS_GameService.Protocol.STC_015_发送好友是否在线.prototype = {
	get m_className() {return "STC_015_发送好友是否在线";},
	get m_typeId() {return "0_00_004_015";},
	get m_typeTag() {return "发送好友是否在线";},
	get m_fieldArr() {return CS_GameService.Protocol.STC_015_发送好友是否在线_dic.m_fieldArr;},
	_instanceId : 0,

	o_playerIds: {},//UInt32[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 15:
				return o_playerIds;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 15:
				o_playerIds = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_playerIds != null && o_playerIds.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_playerIds, EBaseType.e007_uint);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 15:
					o_playerIds = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FriendChat.STC_015_发送好友是否在线.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_playerIds, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 15:
						this.o_playerIds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.STC_015_发送好友是否在线_dic = { 
	"m_fieldArr" : {
		"15" : new CSUtils.AField(15, "System.UInt32[]", "", "", "o_playerIds", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_015_发送好友是否在线"),
	},
}

//--------0_00_004_017----
//----回复好友是否在线--
CS_GameService.Protocol.STC_017_回复好友是否在线 = function(){}
CS_GameService.Protocol.STC_017_回复好友是否在线.prototype = {
	get m_className() {return "STC_017_回复好友是否在线";},
	get m_typeId() {return "0_00_004_017";},
	get m_typeTag() {return "回复好友是否在线";},
	get m_fieldArr() {return CS_GameService.Protocol.STC_017_回复好友是否在线_dic.m_fieldArr;},
	_instanceId : 0,

	z目标ID: {},//UInt32[]--------
	z目标姓名: {},//String[]--------
	z目标头像: {},//String[]--------
	z目标服务器IP: {},//String[]--------
	z战斗力: {},//Int16[]--------
	zX经度: {},//Int32[]--------
	zY纬度: {},//Int32[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return z目标ID;
			case 13:
				return z目标姓名;
			case 15:
				return z目标头像;
			case 18:
				return z目标服务器IP;
			case 21:
				return z战斗力;
			case 25:
				return zX经度;
			case 26:
				return zY纬度;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				z目标ID = obj;
				break;
			case 13:
				z目标姓名 = obj;
				break;
			case 15:
				z目标头像 = obj;
				break;
			case 18:
				z目标服务器IP = obj;
				break;
			case 21:
				z战斗力 = obj;
				break;
			case 25:
				zX经度 = obj;
				break;
			case 26:
				zY纬度 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z目标ID != null && z目标ID.Length > 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标ID, EBaseType.e007_uint);//����
		}
		if (z目标姓名 != null && z目标姓名.Length > 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标姓名, EBaseType.e012_string);//����
		}
		if (z目标头像 != null && z目标头像.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标头像, EBaseType.e012_string);//����
		}
		if (z目标服务器IP != null && z目标服务器IP.Length > 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标服务器IP, EBaseType.e012_string);//����
		}
		if (z战斗力 != null && z战斗力.Length > 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.S_WriteByteArray(z战斗力, EBaseType.e004_short);//����
		}
		if (zX经度 != null && zX经度.Length > 0) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.S_WriteByteArray(zX经度, EBaseType.e006_int);//����
		}
		if (zY纬度 != null && zY纬度.Length > 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteArray(zY纬度, EBaseType.e006_int);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					z目标ID = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 13:
					z目标姓名 = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
					z目标头像 = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 18:
					z目标服务器IP = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 21:
					z战斗力 = binaryReader.S_ReadByteArray(EBaseType.e004_short, System.Int16, uintObjDic);
					break;
				case 25:
					zX经度 = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 26:
					zY纬度 = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FriendChat.STC_017_回复好友是否在线.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标ID, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &13=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标姓名, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标头像, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &18=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标服务器IP, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &21=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z战斗力, EBaseType.e018_array, EBaseType.e004_short);
		str = str + "  &25=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.zX经度, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &26=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.zY纬度, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.z目标ID = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 13:
						this.z目标姓名 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 15:
						this.z目标头像 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 18:
						this.z目标服务器IP = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 21:
						this.z战斗力 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e004_short, uintObjDic); //System.Int16
						break;
					case 25:
						this.zX经度 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 26:
						this.zY纬度 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.STC_017_回复好友是否在线_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32[]", "", "", "z目标ID", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_017_回复好友是否在线"),
		"13" : new CSUtils.AField(13, "System.String[]", "", "", "z目标姓名", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_017_回复好友是否在线"),
		"15" : new CSUtils.AField(15, "System.String[]", "", "", "z目标头像", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_017_回复好友是否在线"),
		"18" : new CSUtils.AField(18, "System.String[]", "", "", "z目标服务器IP", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_017_回复好友是否在线"),
		"21" : new CSUtils.AField(21, "System.Int16[]", "", "", "z战斗力", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_017_回复好友是否在线"),
		"25" : new CSUtils.AField(25, "System.Int32[]", "", "", "zX经度", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_017_回复好友是否在线"),
		"26" : new CSUtils.AField(26, "System.Int32[]", "", "", "zY纬度", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_017_回复好友是否在线"),
	},
}

//--------0_00_004_050----
//----附近的玩家--
CS_GameService.Protocol.STC_050_附近的玩家 = function(){}
CS_GameService.Protocol.STC_050_附近的玩家.prototype = {
	get m_className() {return "STC_050_附近的玩家";},
	get m_typeId() {return "0_00_004_050";},
	get m_typeTag() {return "附近的玩家";},
	get m_fieldArr() {return CS_GameService.Protocol.STC_050_附近的玩家_dic.m_fieldArr;},
	_instanceId : 0,

	z目标ID: {},//UInt32[]--------
	z目标姓名: {},//String[]--------
	z目标头像: {},//String[]--------
	z目标服务器IP: {},//String[]--------
	z战斗力: {},//Int16[]--------
	zX经度: {},//Int32[]--------
	zY纬度: {},//Int32[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return z目标ID;
			case 13:
				return z目标姓名;
			case 15:
				return z目标头像;
			case 18:
				return z目标服务器IP;
			case 21:
				return z战斗力;
			case 25:
				return zX经度;
			case 26:
				return zY纬度;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				z目标ID = obj;
				break;
			case 13:
				z目标姓名 = obj;
				break;
			case 15:
				z目标头像 = obj;
				break;
			case 18:
				z目标服务器IP = obj;
				break;
			case 21:
				z战斗力 = obj;
				break;
			case 25:
				zX经度 = obj;
				break;
			case 26:
				zY纬度 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (z目标ID != null && z目标ID.Length > 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标ID, EBaseType.e007_uint);//����
		}
		if (z目标姓名 != null && z目标姓名.Length > 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标姓名, EBaseType.e012_string);//����
		}
		if (z目标头像 != null && z目标头像.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标头像, EBaseType.e012_string);//����
		}
		if (z目标服务器IP != null && z目标服务器IP.Length > 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteArray(z目标服务器IP, EBaseType.e012_string);//����
		}
		if (z战斗力 != null && z战斗力.Length > 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.S_WriteByteArray(z战斗力, EBaseType.e004_short);//����
		}
		if (zX经度 != null && zX经度.Length > 0) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.S_WriteByteArray(zX经度, EBaseType.e006_int);//����
		}
		if (zY纬度 != null && zY纬度.Length > 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteArray(zY纬度, EBaseType.e006_int);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					z目标ID = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 13:
					z目标姓名 = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
					z目标头像 = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 18:
					z目标服务器IP = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 21:
					z战斗力 = binaryReader.S_ReadByteArray(EBaseType.e004_short, System.Int16, uintObjDic);
					break;
				case 25:
					zX经度 = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 26:
					zY纬度 = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.FriendChat.STC_050_附近的玩家.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标ID, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &13=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标姓名, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标头像, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &18=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z目标服务器IP, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &21=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.z战斗力, EBaseType.e018_array, EBaseType.e004_short);
		str = str + "  &25=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.zX经度, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &26=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.zY纬度, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.z目标ID = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 13:
						this.z目标姓名 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 15:
						this.z目标头像 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 18:
						this.z目标服务器IP = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 21:
						this.z战斗力 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e004_short, uintObjDic); //System.Int16
						break;
					case 25:
						this.zX经度 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 26:
						this.zY纬度 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.STC_050_附近的玩家_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32[]", "", "", "z目标ID", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_050_附近的玩家"),
		"13" : new CSUtils.AField(13, "System.String[]", "", "", "z目标姓名", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_050_附近的玩家"),
		"15" : new CSUtils.AField(15, "System.String[]", "", "", "z目标头像", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_050_附近的玩家"),
		"18" : new CSUtils.AField(18, "System.String[]", "", "", "z目标服务器IP", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_050_附近的玩家"),
		"21" : new CSUtils.AField(21, "System.Int16[]", "", "", "z战斗力", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_050_附近的玩家"),
		"25" : new CSUtils.AField(25, "System.Int32[]", "", "", "zX经度", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_050_附近的玩家"),
		"26" : new CSUtils.AField(26, "System.Int32[]", "", "", "zY纬度", 3, "0", "100", null, 0, "GS.P.FriendChat.STC_050_附近的玩家"),
	},
}

//--------0_00_001_001----
//----Dto_FrameData.帧数据--
CS_GameService.Protocol.Dto_FrameData = function(){}
CS_GameService.Protocol.Dto_FrameData.prototype = {
	get m_className() {return "Dto_FrameData";},
	get m_typeId() {return "0_00_001_001";},
	get m_typeTag() {return "Dto_FrameData.帧数据";},
	get m_fieldArr() {return CS_GameService.Protocol.Dto_FrameData_dic.m_fieldArr;},
	_instanceId : 0,

	o_frameIndex: 0,//UInt32--------
	_dtoBytess: {},//Byte[][]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 7:
				return o_frameIndex;
			case 8:
				return _dtoBytess;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 7:
				o_frameIndex = obj;
				break;
			case 8:
				_dtoBytess = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_frameIndex != 0) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.Write(o_frameIndex);//ֵ
		}
		if (_dtoBytess != null && _dtoBytess.Length > 0) {
			binaryWriter.Write(8);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(_dtoBytess, EBaseType.e003_byte);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 7:
					o_frameIndex = binaryReader.ReadUInt32();
					break;
				case 8:
					_dtoBytess = binaryReader.S_ReadByteArrayArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.Dto_FrameData.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &7=" + this.o_frameIndex;//--
		str = str + "  &8=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this._dtoBytess, EBaseType.e019_arrayArray, EBaseType.e003_byte);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 7:
						this.o_frameIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 8:
						this._dtoBytess = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Dto_FrameData_dic = { 
	"m_fieldArr" : {
		"7" : new CSUtils.AField(7, "System.UInt32", "", "", "o_frameIndex", 3, "0", "100", null, 0, "GS.P.Basics.Dto_FrameData"),
		"8" : new CSUtils.AField(8, "System.Byte[][]", "", "", "_dtoBytess", 3, "0", "100", null, 0, "GS.P.Basics.Dto_FrameData"),
	},
}

//--------0_00_001_004----
//----心跳Req--
CS_GameService.Protocol.C_heartbeatReq = function(){}
CS_GameService.Protocol.C_heartbeatReq.prototype = {
	get m_className() {return "C_heartbeatReq";},
	get m_typeId() {return "0_00_001_004";},
	get m_typeTag() {return "心跳Req";},
	get m_fieldArr() {return CS_GameService.Protocol.C_heartbeatReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_systemTime: 0,//Int32----系统时间----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_systemTime;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_systemTime = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_systemTime != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_systemTime);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					o_systemTime = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_heartbeatReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_systemTime;//--系统时间
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_systemTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_heartbeatReq_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "系统时间", "", "o_systemTime", 3, "0", "100", null, 0, "GS.P.Basics.C_heartbeatReq"),
	},
}

//--------0_00_001_005----
//----心跳Resp--
CS_GameService.Protocol.C_heartbeatResp = function(){}
CS_GameService.Protocol.C_heartbeatResp.prototype = {
	get m_className() {return "C_heartbeatResp";},
	get m_typeId() {return "0_00_001_005";},
	get m_typeTag() {return "心跳Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_heartbeatResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_systemTime: 0,//Int32----系统时间----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_systemTime;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_systemTime = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_systemTime != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_systemTime);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					o_systemTime = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_heartbeatResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_systemTime;//--系统时间
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_systemTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_heartbeatResp_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Int32", "系统时间", "", "o_systemTime", 3, "0", "100", null, 0, "GS.P.Basics.C_heartbeatResp"),
	},
}

//--------0_00_001_006----
//----账号密码登录Req--
CS_GameService.Protocol.C_LoginReq = function(){}
CS_GameService.Protocol.C_LoginReq.prototype = {
	get m_className() {return "C_LoginReq";},
	get m_typeId() {return "0_00_001_006";},
	get m_typeTag() {return "账号密码登录Req";},
	get m_fieldArr() {return CS_GameService.Protocol.C_LoginReq_dic.m_fieldArr;},
	_instanceId : 0,

	playerName: "",//String----姓名----
	password: "",//String----密码----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return playerName;
			case 13:
				return password;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				playerName = obj;
				break;
			case 13:
				password = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(playerName) == false) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(playerName, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(password) == false) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteObj(password, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				playerName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 13:
				password = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_LoginReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.playerName;//--姓名
		str = str + "  &13=" + this.password;//--密码
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.playerName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 13:
						this.password = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_LoginReq_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.String", "姓名", "", "playerName", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginReq"),
		"13" : new CSUtils.AField(13, "System.String", "密码", "", "password", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginReq"),
	},
}

//--------0_00_001_007----
//----登录Resp--
CS_GameService.Protocol.C_LoginResp = function(){}
CS_GameService.Protocol.C_LoginResp.prototype = {
	get m_className() {return "C_LoginResp";},
	get m_typeId() {return "0_00_001_007";},
	get m_typeTag() {return "登录Resp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_LoginResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_double: 0,//Double----o_double----
	o_loginState: 0,//Int32----状态----(1 = 成功, 2 = 失败账号或密码错误, 3 = 重复登录)
	o_playerOnlyId: 0,//UInt32----playerId----
	o_chData: "",//String----o_chData----
	o_chDatas: {},//String[]----o_chDatas----
	o_playerLevels: {},//Single[][]----o_playerLevels----
	o_playerId: 0,//Int64----o_playerId----
	o_isStart: false,
	o_isStartArr: {},//Boolean[]----o_isStartArr----
	o_isSuccess: 0,//Byte----o_isSuccess----
	o_isSuccessArr: {},//Byte[][]----o_isSuccessArr----
	o_isShow: 0,//Double----o_isShow----
	o_isShowArr: {},//Double[]----o_isSuccessArr----
	o_isShowId: {a:0,b:0,c:0,d:0},//CInt4----o_isShowId----
	o_isShowIdArr: {},//CInt4[]----o_isSuccessIdArr----
	o_LoginResp: null,//C_LoginResp----o_LoginResp----
	o_LoginRespArr: {},//C_LoginResp[]----o_LoginRespArr----
	o_IdLoginReq: null,//C_IdLoginReq----o_IdLoginReq----
	o_IdLoginReqArr: {},//C_IdLoginReq[][]----o_IdLoginReqArr----
	o_byte: 0,//Byte----o_byte----
	o_short: 0,//Int16----o_short----
	o_int: 0,//Int32----o_int----
	o_float: 0,//Single----o_float----
	o_long: 0,//Int64----o_long----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 10:
				return o_double;
			case 11:
				return o_loginState;
			case 13:
				return o_playerOnlyId;
			case 14:
				return o_chData;
			case 15:
				return o_chDatas;
			case 16:
				return o_playerLevels;
			case 17:
				return o_playerId;
			case 18:
				return o_isStart;
			case 19:
				return o_isStartArr;
			case 20:
				return o_isSuccess;
			case 21:
				return o_isSuccessArr;
			case 23:
				return o_isShow;
			case 24:
				return o_isShowArr;
			case 25:
				return o_isShowId;
			case 26:
				return o_isShowIdArr;
			case 27:
				return o_LoginResp;
			case 28:
				return o_LoginRespArr;
			case 30:
				return o_IdLoginReq;
			case 31:
				return o_IdLoginReqArr;
			case 35:
				return o_byte;
			case 36:
				return o_short;
			case 37:
				return o_int;
			case 38:
				return o_float;
			case 39:
				return o_long;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 10:
				o_double = obj;
				break;
			case 11:
				o_loginState = obj;
				break;
			case 13:
				o_playerOnlyId = obj;
				break;
			case 14:
				o_chData = obj;
				break;
			case 15:
				o_chDatas = obj;
				break;
			case 16:
				o_playerLevels = obj;
				break;
			case 17:
				o_playerId = obj;
				break;
			case 18:
				o_isStart = obj;
				break;
			case 19:
				o_isStartArr = obj;
				break;
			case 20:
				o_isSuccess = obj;
				break;
			case 21:
				o_isSuccessArr = obj;
				break;
			case 23:
				o_isShow = obj;
				break;
			case 24:
				o_isShowArr = obj;
				break;
			case 25:
				o_isShowId = obj;
				break;
			case 26:
				o_isShowIdArr = obj;
				break;
			case 27:
				o_LoginResp = obj;
				break;
			case 28:
				o_LoginRespArr = obj;
				break;
			case 30:
				o_IdLoginReq = obj;
				break;
			case 31:
				o_IdLoginReqArr = obj;
				break;
			case 35:
				o_byte = obj;
				break;
			case 36:
				o_short = obj;
				break;
			case 37:
				o_int = obj;
				break;
			case 38:
				o_float = obj;
				break;
			case 39:
				o_long = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_double != 0) {
			binaryWriter.Write(10);//�ֶ�����
			binaryWriter.Write(o_double);//ֵ
		}
		if (o_loginState != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_loginState);//ֵ
		}
		if (o_playerOnlyId != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_playerOnlyId);//ֵ
		}
		if (string.IsNullOrEmpty(o_chData) == false) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_chData, EBaseType.e012_string);
		}
		if (o_chDatas != null && o_chDatas.Length > 0) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_chDatas, EBaseType.e012_string);//����
		}
		if (o_playerLevels != null && o_playerLevels.Length > 0) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_playerLevels, EBaseType.e008_float);//����
		}
		if (o_playerId != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(o_playerId);//ֵ
		}
		if (o_isStart != false) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.Write(o_isStart);//ֵ
		}
		if (o_isStartArr != null && o_isStartArr.Length > 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_isStartArr, EBaseType.e001_bool);//����
		}
		if (o_isSuccess != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(o_isSuccess);//ֵ
		}
		if (o_isSuccessArr != null && o_isSuccessArr.Length > 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_isSuccessArr, EBaseType.e003_byte);//����
		}
		if (o_isShow != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(o_isShow);//ֵ
		}
		if (o_isShowArr != null && o_isShowArr.Length > 0) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_isShowArr, EBaseType.e009_double);//����
		}
		if (o_isShowId != null && o_isShowId != CInt4.zero) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_isShowId, EBaseType.e014_Int4);
		}
		if (o_isShowIdArr != null && o_isShowIdArr.Length > 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_isShowIdArr, EBaseType.e014_Int4);//����
		}
		if (o_LoginResp != null) {
			binaryWriter.Write(27);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_LoginResp, EBaseType.e021_weData);//WeData����
		}
		if (o_LoginRespArr != null && o_LoginRespArr.Length > 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_LoginRespArr, EBaseType.e021_weData);//����
		}
		if (o_IdLoginReq != null) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_IdLoginReq, EBaseType.e021_weData);//WeData����
		}
		if (o_IdLoginReqArr != null && o_IdLoginReqArr.Length > 0) {
			binaryWriter.Write(31);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_IdLoginReqArr, EBaseType.e021_weData);//����
		}
		if (o_byte != 0) {
			binaryWriter.Write(35);//�ֶ�����
			binaryWriter.Write(o_byte);//ֵ
		}
		if (o_short != 0) {
			binaryWriter.Write(36);//�ֶ�����
			binaryWriter.Write(o_short);//ֵ
		}
		if (o_int != 0) {
			binaryWriter.Write(37);//�ֶ�����
			binaryWriter.Write(o_int);//ֵ
		}
		if (o_float != 0) {
			binaryWriter.Write(38);//�ֶ�����
			binaryWriter.Write(o_float);//ֵ
		}
		if (o_long != 0) {
			binaryWriter.Write(39);//�ֶ�����
			binaryWriter.Write(o_long);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 10:
					o_double = binaryReader.ReadDouble();
					break;
				case 11:
					o_loginState = binaryReader.ReadInt32();
					break;
				case 13:
					o_playerOnlyId = binaryReader.ReadUInt32();
					break;
				case 14:
				o_chData = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
					o_chDatas = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 16:
					o_playerLevels = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 17:
					o_playerId = binaryReader.ReadInt64();
					break;
				case 18:
					o_isStart = binaryReader.ReadBoolean();
					break;
				case 19:
					o_isStartArr = binaryReader.S_ReadByteArray(EBaseType.e001_bool, System.Boolean, uintObjDic);
					break;
				case 20:
				o_isSuccess = binaryReader.ReadByte();
					break;
				case 21:
					o_isSuccessArr = binaryReader.S_ReadByteArrayArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				case 23:
					o_isShow = binaryReader.ReadDouble();
					break;
				case 24:
					o_isShowArr = binaryReader.S_ReadByteArray(EBaseType.e009_double, System.Double, uintObjDic);
					break;
				case 25:
				o_isShowId = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 26:
					o_isShowIdArr = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 27:
					o_LoginResp = binaryReader.S_ReadByteObj(EBaseType.e021_weData , GS.P.Basics.C_LoginResp, uintObjDic);
					break;
				case 28:
					o_LoginRespArr = binaryReader.S_ReadByteArray(EBaseType.e021_weData, GS.P.Basics.C_LoginResp, uintObjDic);
					break;
				case 30:
					o_IdLoginReq = binaryReader.S_ReadByteObj(EBaseType.e021_weData , GS.P.Basics.C_IdLoginReq, uintObjDic);
					break;
				case 31:
					o_IdLoginReqArr = binaryReader.S_ReadByteArrayArray(EBaseType.e021_weData, GS.P.Basics.C_IdLoginReq, uintObjDic);
					break;
				case 35:
				o_byte = binaryReader.ReadByte();
					break;
				case 36:
					o_short = binaryReader.ReadInt16();
					break;
				case 37:
					o_int = binaryReader.ReadInt32();
					break;
				case 38:
				o_float = binaryReader.ReadSingle();
					break;
				case 39:
					o_long = binaryReader.ReadInt64();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_LoginResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &10=" + this.o_double;//--o_double
		str = str + "  &11=" + this.o_loginState;//--状态
		str = str + "  &13=" + this.o_playerOnlyId;//--playerId
		str = str + "  &14=" + this.o_chData;//--o_chData
		str = str + "  &15=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_chDatas, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &16=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_playerLevels, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &17=" + this.o_playerId;//--o_playerId
		str = str + "  &18=" + this.o_isStart;//--o_isStart
		str = str + "  &19=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_isStartArr, EBaseType.e018_array, EBaseType.e001_bool);
		str = str + "  &20=" + this.o_isSuccess;//--o_isSuccess
		str = str + "  &21=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_isSuccessArr, EBaseType.e019_arrayArray, EBaseType.e003_byte);
		str = str + "  &23=" + this.o_isShow;//--o_isShow
		str = str + "  &24=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_isShowArr, EBaseType.e018_array, EBaseType.e009_double);
		str = str + "  &25=" + this.o_isShowId;//--o_isShowId
		str = str + "  &26=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_isShowIdArr, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &27=" + this.o_LoginResp;//--o_LoginResp
		str = str + "  &28=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_LoginRespArr, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "  &30=" + this.o_IdLoginReq;//--o_IdLoginReq
		str = str + "  &31=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_IdLoginReqArr, EBaseType.e019_arrayArray, EBaseType.e021_weData);
		str = str + "  &35=" + this.o_byte;//--o_byte
		str = str + "  &36=" + this.o_short;//--o_short
		str = str + "  &37=" + this.o_int;//--o_int
		str = str + "  &38=" + this.o_float;//--o_float
		str = str + "  &39=" + this.o_long;//--o_long
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 10:
						this.o_double = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e009_double, uintObjDic);
						break;
					case 11:
						this.o_loginState = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 13:
						this.o_playerOnlyId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 14:
						this.o_chData = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 15:
						this.o_chDatas = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 16:
						this.o_playerLevels = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 17:
						this.o_playerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e010_long, uintObjDic);
						break;
					case 18:
						this.o_isStart = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 19:
						this.o_isStartArr = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e001_bool, uintObjDic); //System.Boolean
						break;
					case 20:
						this.o_isSuccess = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 21:
						this.o_isSuccessArr = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
					case 23:
						this.o_isShow = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e009_double, uintObjDic);
						break;
					case 24:
						this.o_isShowArr = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e009_double, uintObjDic); //System.Double
						break;
					case 25:
						this.o_isShowId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 26:
						this.o_isShowIdArr = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 27:
						this.o_LoginResp = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 28:
						this.o_LoginRespArr = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //GS.P.Basics.C_LoginResp
						break;
					case 30:
						this.o_IdLoginReq = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e021_weData, uintObjDic);
						break;
					case 31:
						this.o_IdLoginReqArr = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //GS.P.Basics.C_IdLoginReq
						break;
					case 35:
						this.o_byte = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 36:
						this.o_short = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e004_short, uintObjDic);
						break;
					case 37:
						this.o_int = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 38:
						this.o_float = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 39:
						this.o_long = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e010_long, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_LoginResp_dic = { 
	"m_fieldArr" : {
		"10" : new CSUtils.AField(10, "System.Double", "o_double", "", "o_double", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"11" : new CSUtils.AField(11, "System.Int32", "状态", "(1 = 成功, 2 = 失败账号或密码错误, 3 = 重复登录)", "o_loginState", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"13" : new CSUtils.AField(13, "System.UInt32", "playerId", "", "o_playerOnlyId", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"14" : new CSUtils.AField(14, "System.String", "o_chData", "", "o_chData", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"15" : new CSUtils.AField(15, "System.String[]", "o_chDatas", "", "o_chDatas", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"16" : new CSUtils.AField(16, "System.Single[][]", "o_playerLevels", "", "o_playerLevels", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"17" : new CSUtils.AField(17, "System.Int64", "o_playerId", "", "o_playerId", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"18" : new CSUtils.AField(18, "System.Boolean", "o_isStart", "", "o_isStart", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"19" : new CSUtils.AField(19, "System.Boolean[]", "o_isStartArr", "", "o_isStartArr", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"20" : new CSUtils.AField(20, "System.Byte", "o_isSuccess", "", "o_isSuccess", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"21" : new CSUtils.AField(21, "System.Byte[][]", "o_isSuccessArr", "", "o_isSuccessArr", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"23" : new CSUtils.AField(23, "System.Double", "o_isShow", "", "o_isShow", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"24" : new CSUtils.AField(24, "System.Double[]", "o_isSuccessArr", "", "o_isShowArr", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"25" : new CSUtils.AField(25, "CSUtilss.CInt4", "o_isShowId", "", "o_isShowId", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"26" : new CSUtils.AField(26, "CSUtilss.CInt4[]", "o_isSuccessIdArr", "", "o_isShowIdArr", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"27" : new CSUtils.AField(27, "GS.P.Basics.C_LoginResp", "o_LoginResp", "", "o_LoginResp", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"28" : new CSUtils.AField(28, "GS.P.Basics.C_LoginResp[]", "o_LoginRespArr", "", "o_LoginRespArr", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"30" : new CSUtils.AField(30, "GS.P.Basics.C_IdLoginReq", "o_IdLoginReq", "", "o_IdLoginReq", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"31" : new CSUtils.AField(31, "GS.P.Basics.C_IdLoginReq[][]", "o_IdLoginReqArr", "", "o_IdLoginReqArr", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"35" : new CSUtils.AField(35, "System.Byte", "o_byte", "", "o_byte", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"36" : new CSUtils.AField(36, "System.Int16", "o_short", "", "o_short", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"37" : new CSUtils.AField(37, "System.Int32", "o_int", "", "o_int", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"38" : new CSUtils.AField(38, "System.Single", "o_float", "", "o_float", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
		"39" : new CSUtils.AField(39, "System.Int64", "o_long", "", "o_long", 3, "0", "100", null, 0, "GS.P.Basics.C_LoginResp"),
	},
}

//--------0_00_001_008----
//----玩家Id登录Req--
CS_GameService.Protocol.C_IdLoginReq = function(){}
CS_GameService.Protocol.C_IdLoginReq.prototype = {
	get m_className() {return "C_IdLoginReq";},
	get m_typeId() {return "0_00_001_008";},
	get m_typeTag() {return "玩家Id登录Req";},
	get m_fieldArr() {return CS_GameService.Protocol.C_IdLoginReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_playerOnlyId: 0,//UInt32----playerId----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_playerOnlyId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_playerOnlyId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_playerOnlyId != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_playerOnlyId);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
					o_playerOnlyId = binaryReader.ReadUInt32();
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_IdLoginReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_playerOnlyId;//--playerId
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_playerOnlyId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_IdLoginReq_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.UInt32", "playerId", "", "o_playerOnlyId", 3, "0", "100", null, 0, "GS.P.Basics.C_IdLoginReq"),
	},
}

//--------0_00_001_009----
//----设备Id登录Req--
CS_GameService.Protocol.C_DeviceIdLoginReq = function(){}
CS_GameService.Protocol.C_DeviceIdLoginReq.prototype = {
	get m_className() {return "C_DeviceIdLoginReq";},
	get m_typeId() {return "0_00_001_009";},
	get m_typeTag() {return "设备Id登录Req";},
	get m_fieldArr() {return CS_GameService.Protocol.C_DeviceIdLoginReq_dic.m_fieldArr;},
	_instanceId : 0,

	playerDeviceId: "",//String----设备Id----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return playerDeviceId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				playerDeviceId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(playerDeviceId) == false) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(playerDeviceId, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				playerDeviceId = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_DeviceIdLoginReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.playerDeviceId;//--设备Id
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.playerDeviceId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_DeviceIdLoginReq_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.String", "设备Id", "", "playerDeviceId", 3, "0", "100", null, 0, "GS.P.Basics.C_DeviceIdLoginReq"),
	},
}

//--------0_00_001_012----
//----C_TipsViewResp--
CS_GameService.Protocol.C_TipsViewResp = function(){}
CS_GameService.Protocol.C_TipsViewResp.prototype = {
	get m_className() {return "C_TipsViewResp";},
	get m_typeId() {return "0_00_001_012";},
	get m_typeTag() {return "C_TipsViewResp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_TipsViewResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_type: 0,//Byte----type----1=Tips,2=TipsView
	o_title: "",//String----标题----
	o_content: "",//String----内容----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 11:
				return o_type;
			case 13:
				return o_title;
			case 15:
				return o_content;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 11:
				o_type = obj;
				break;
			case 13:
				o_title = obj;
				break;
			case 15:
				o_content = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_type != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_type);//ֵ
		}
		if (string.IsNullOrEmpty(o_title) == false) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_title, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_content) == false) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_content, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 11:
				o_type = binaryReader.ReadByte();
					break;
				case 13:
				o_title = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
				o_content = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_TipsViewResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &11=" + this.o_type;//--type
		str = str + "  &13=" + this.o_title;//--标题
		str = str + "  &15=" + this.o_content;//--内容
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 11:
						this.o_type = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 13:
						this.o_title = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 15:
						this.o_content = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_TipsViewResp_dic = { 
	"m_fieldArr" : {
		"11" : new CSUtils.AField(11, "System.Byte", "type", "1=Tips,2=TipsView", "o_type", 3, "0", "100", null, 0, "GS.P.Basics.C_TipsViewResp"),
		"13" : new CSUtils.AField(13, "System.String", "标题", "", "o_title", 3, "0", "100", null, 0, "GS.P.Basics.C_TipsViewResp"),
		"15" : new CSUtils.AField(15, "System.String", "内容", "", "o_content", 3, "0", "100", null, 0, "GS.P.Basics.C_TipsViewResp"),
	},
}

//--------0_00_001_015----
//----C_SetServiceReq--
CS_GameService.Protocol.C_SetServiceReq = function(){}
CS_GameService.Protocol.C_SetServiceReq.prototype = {
	get m_className() {return "C_SetServiceReq";},
	get m_typeId() {return "0_00_001_015";},
	get m_typeTag() {return "C_SetServiceReq";},
	get m_fieldArr() {return CS_GameService.Protocol.C_SetServiceReq_dic.m_fieldArr;},
	_instanceId : 0,

	o_setServiceTypes: {},//E_SetServiceType[]----isAdd----
	o_serviveTypes: {},//Byte[]----服务类型----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 12:
				return o_setServiceTypes;
			case 14:
				return o_serviveTypes;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 12:
				o_setServiceTypes = obj;
				break;
			case 14:
				o_serviveTypes = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_setServiceTypes != null && o_setServiceTypes.Length > 0) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_setServiceTypes, EBaseType.e017_Enum);//����
		}
		if (o_serviveTypes != null && o_serviveTypes.Length > 0) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_serviveTypes, EBaseType.e003_byte);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 12:
					o_setServiceTypes = binaryReader.S_ReadByteArray(EBaseType.e017_Enum, GS.P.Basics.E_SetServiceType, uintObjDic);
					break;
				case 14:
					o_serviveTypes = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_SetServiceReq.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &12=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_setServiceTypes, EBaseType.e018_array, EBaseType.e017_Enum);
		str = str + "  &14=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_serviveTypes, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 12:
						this.o_setServiceTypes = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e017_Enum, uintObjDic); //GS.P.Basics.E_SetServiceType
						break;
					case 14:
						this.o_serviveTypes = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_SetServiceReq_dic = { 
	"m_fieldArr" : {
		"12" : new CSUtils.AField(12, "GS.P.Basics.E_SetServiceType[]", "isAdd", "", "o_setServiceTypes", 3, "0", "100", null, 0, "GS.P.Basics.C_SetServiceReq"),
		"14" : new CSUtils.AField(14, "System.Byte[]", "服务类型", "", "o_serviveTypes", 3, "0", "100", null, 0, "GS.P.Basics.C_SetServiceReq"),
	},
}

//--------0_00_001_016----
//----C_SetServiceResp--
CS_GameService.Protocol.C_SetServiceResp = function(){}
CS_GameService.Protocol.C_SetServiceResp.prototype = {
	get m_className() {return "C_SetServiceResp";},
	get m_typeId() {return "0_00_001_016";},
	get m_typeTag() {return "C_SetServiceResp";},
	get m_fieldArr() {return CS_GameService.Protocol.C_SetServiceResp_dic.m_fieldArr;},
	_instanceId : 0,

	o_errors: {},//Byte[]----errors----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 12:
				return o_errors;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 12:
				o_errors = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_errors != null && o_errors.Length > 0) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_errors, EBaseType.e003_byte);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 12:
					o_errors = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.C_SetServiceResp.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &12=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_errors, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 12:
						this.o_errors = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.C_SetServiceResp_dic = { 
	"m_fieldArr" : {
		"12" : new CSUtils.AField(12, "System.Byte[]", "errors", "", "o_errors", 3, "0", "100", null, 0, "GS.P.Basics.C_SetServiceResp"),
	},
}

//--------0_00_001_030----
//----消息转发--
CS_GameService.Protocol.Dto_Forwarding = function(){}
CS_GameService.Protocol.Dto_Forwarding.prototype = {
	get m_className() {return "Dto_Forwarding";},
	get m_typeId() {return "0_00_001_030";},
	get m_typeTag() {return "消息转发";},
	get m_fieldArr() {return CS_GameService.Protocol.Dto_Forwarding_dic.m_fieldArr;},
	_instanceId : 0,

	o_taegetPlayerIds: {},//UInt32[]----目标玩家s----
	o_originPlayerId: 0,//UInt32----源玩家----
	_bytes: {},//Byte[]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 10:
				return o_taegetPlayerIds;
			case 11:
				return o_originPlayerId;
			case 13:
				return _bytes;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 10:
				o_taegetPlayerIds = obj;
				break;
			case 11:
				o_originPlayerId = obj;
				break;
			case 13:
				_bytes = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_taegetPlayerIds != null && o_taegetPlayerIds.Length > 0) {
			binaryWriter.Write(10);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_taegetPlayerIds, EBaseType.e007_uint);//����
		}
		if (o_originPlayerId != 0) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.Write(o_originPlayerId);//ֵ
		}
		if (_bytes != null && _bytes.Length > 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteArray(_bytes, EBaseType.e003_byte);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 10:
					o_taegetPlayerIds = binaryReader.S_ReadByteArray(EBaseType.e007_uint, System.UInt32, uintObjDic);
					break;
				case 11:
					o_originPlayerId = binaryReader.ReadUInt32();
					break;
				case 13:
					_bytes = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.GS.P.Basics.Dto_Forwarding.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &10=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_taegetPlayerIds, EBaseType.e018_array, EBaseType.e007_uint);
		str = str + "  &11=" + this.o_originPlayerId;//--源玩家
		str = str + "  &13=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._bytes, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 10:
						this.o_taegetPlayerIds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e007_uint, uintObjDic); //System.UInt32
						break;
					case 11:
						this.o_originPlayerId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e007_uint, uintObjDic);
						break;
					case 13:
						this._bytes = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
				}
			} catch { }
		}
	},
}

CS_GameService.Protocol.Dto_Forwarding_dic = { 
	"m_fieldArr" : {
		"10" : new CSUtils.AField(10, "System.UInt32[]", "目标玩家s", "", "o_taegetPlayerIds", 3, "0", "100", null, 0, "GS.P.Basics.Dto_Forwarding"),
		"11" : new CSUtils.AField(11, "System.UInt32", "源玩家", "", "o_originPlayerId", 3, "0", "100", null, 0, "GS.P.Basics.Dto_Forwarding"),
		"13" : new CSUtils.AField(13, "System.Byte[]", "", "", "_bytes", 3, "0", "100", null, 0, "GS.P.Basics.Dto_Forwarding"),
	},
}

//--------10_04_384_444----
//----C_ObjDatdsfsdfa--
U3dCore.C_We01 = function(){}
U3dCore.C_We01.prototype = {
	get m_className() {return "C_We01";},
	get m_typeId() {return "10_04_384_444";},
	get m_typeTag() {return "C_ObjDatdsfsdfa";},
	get m_fieldArr() {return U3dCore.C_We01_dic.m_fieldArr;},
	_instanceId : 0,

	o_ii4: {a:0,b:0,c:0,d:0},//CInt4--------
	o_ii4s: {},//CInt4[]--------
	o_iis: {},//Int32[]--------
	o_sss: {},//String[]--------
	o_aaa: {},//C_We01[]----撒卡卡----
	o_aaas: {},//C_We01[][]----撒卡卡ss----
	o_E_mmm: {},//E_mmm[][]----撒卡ss----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 2:
				return o_ii4;
			case 4:
				return o_ii4s;
			case 6:
				return o_iis;
			case 8:
				return o_sss;
			case 16:
				return o_aaa;
			case 18:
				return o_aaas;
			case 19:
				return o_E_mmm;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 2:
				o_ii4 = obj;
				break;
			case 4:
				o_ii4s = obj;
				break;
			case 6:
				o_iis = obj;
				break;
			case 8:
				o_sss = obj;
				break;
			case 16:
				o_aaa = obj;
				break;
			case 18:
				o_aaas = obj;
				break;
			case 19:
				o_E_mmm = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_ii4 != null && o_ii4 != CInt4.zero) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_ii4, EBaseType.e014_Int4);
		}
		if (o_ii4s != null && o_ii4s.Length > 0) {
			binaryWriter.Write(4);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_ii4s, EBaseType.e014_Int4);//����
		}
		if (o_iis != null && o_iis.Length > 0) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_iis, EBaseType.e006_int);//����
		}
		if (o_sss != null && o_sss.Length > 0) {
			binaryWriter.Write(8);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_sss, EBaseType.e012_string);//����
		}
		if (o_aaa != null && o_aaa.Length > 0) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_aaa, EBaseType.e021_weData);//����
		}
		if (o_aaas != null && o_aaas.Length > 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_aaas, EBaseType.e021_weData);//����
		}
		if (o_E_mmm != null && o_E_mmm.Length > 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_E_mmm, EBaseType.e017_Enum);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 2:
				o_ii4 = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 4:
					o_ii4s = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 6:
					o_iis = binaryReader.S_ReadByteArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 8:
					o_sss = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 16:
					o_aaa = binaryReader.S_ReadByteArray(EBaseType.e021_weData, mm.ccdd.C_We01, uintObjDic);
					break;
				case 18:
					o_aaas = binaryReader.S_ReadByteArrayArray(EBaseType.e021_weData, mm.ccdd.C_We01, uintObjDic);
					break;
				case 19:
					o_E_mmm = binaryReader.S_ReadByteArrayArray(EBaseType.e017_Enum, mm.ccdd.E_mmm, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.mm.ccdd.C_We01.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &2=" + this.o_ii4;//--
		str = str + "  &4=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_ii4s, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &6=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_iis, EBaseType.e018_array, EBaseType.e006_int);
		str = str + "  &8=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_sss, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &16=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_aaa, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "  &18=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_aaas, EBaseType.e019_arrayArray, EBaseType.e021_weData);
		str = str + "  &19=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_E_mmm, EBaseType.e019_arrayArray, EBaseType.e017_Enum);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 2:
						this.o_ii4 = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 4:
						this.o_ii4s = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 6:
						this.o_iis = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 8:
						this.o_sss = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 16:
						this.o_aaa = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //mm.ccdd.C_We01
						break;
					case 18:
						this.o_aaas = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //mm.ccdd.C_We01
						break;
					case 19:
						this.o_E_mmm = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e017_Enum, uintObjDic); //mm.ccdd.E_mmm
						break;
				}
			} catch { }
		}
	},
}

U3dCore.C_We01_dic = { 
	"m_fieldArr" : {
		"2" : new CSUtils.AField(2, "CSUtilss.CInt4", "", "", "o_ii4", 3, "0", "100", null, 0, "mm.ccdd.C_We01"),
		"4" : new CSUtils.AField(4, "CSUtilss.CInt4[]", "", "", "o_ii4s", 3, "0", "100", null, 0, "mm.ccdd.C_We01"),
		"6" : new CSUtils.AField(6, "System.Int32[]", "", "", "o_iis", 3, "0", "100", null, 0, "mm.ccdd.C_We01"),
		"8" : new CSUtils.AField(8, "System.String[]", "", "", "o_sss", 3, "0", "100", null, 0, "mm.ccdd.C_We01"),
		"16" : new CSUtils.AField(16, "mm.ccdd.C_We01[]", "撒卡卡", "", "o_aaa", 3, "0", "100", null, 0, "mm.ccdd.C_We01"),
		"18" : new CSUtils.AField(18, "mm.ccdd.C_We01[][]", "撒卡卡ss", "", "o_aaas", 3, "0", "100", null, 0, "mm.ccdd.C_We01"),
		"19" : new CSUtils.AField(19, "mm.ccdd.E_mmm[][]", "撒卡ss", "", "o_E_mmm", 3, "0", "100", null, 0, "mm.ccdd.C_We01"),
	},
}

//--------10_04_240_004----
//----M8笔刷表--
U3dCore.Cfg_TerrainBrush = function(){}
U3dCore.Cfg_TerrainBrush.prototype = {
	get m_className() {return "Cfg_TerrainBrush";},
	get m_typeId() {return "10_04_240_004";},
	get m_typeTag() {return "M8笔刷表";},
	get m_fieldArr() {return U3dCore.Cfg_TerrainBrush_dic.m_fieldArr;},
	_instanceId : 0,

	id: 0,//Int32----M8笔刷表----10_9_2040_4
	o_artPath: "",//String----artPath----fdg
	o_name: "",//String----名字----
	o_intensity: 0,//Single----强度---- 
	diamondsRatio: 0,//Single----钻石换算比例----
	giveNumber: 0,//Int32---- 赠送数量----开始游戏默认赠送数量
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 50:
				return id;
			case 53:
				return o_artPath;
			case 54:
				return o_name;
			case 55:
				return o_intensity;
			case 56:
				return diamondsRatio;
			case 57:
				return giveNumber;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 50:
				id = obj;
				break;
			case 53:
				o_artPath = obj;
				break;
			case 54:
				o_name = obj;
				break;
			case 55:
				o_intensity = obj;
				break;
			case 56:
				diamondsRatio = obj;
				break;
			case 57:
				giveNumber = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (id != 0) {
			binaryWriter.Write(50);//�ֶ�����
			binaryWriter.Write(id);//ֵ
		}
		if (string.IsNullOrEmpty(o_artPath) == false) {
			binaryWriter.Write(53);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_artPath, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(54);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_intensity != 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.Write(o_intensity);//ֵ
		}
		if (diamondsRatio != 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.Write(diamondsRatio);//ֵ
		}
		if (giveNumber != 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.Write(giveNumber);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 50:
					id = binaryReader.ReadInt32();
					break;
				case 53:
				o_artPath = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 54:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 55:
				o_intensity = binaryReader.ReadSingle();
					break;
				case 56:
				diamondsRatio = binaryReader.ReadSingle();
					break;
				case 57:
					giveNumber = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.M8.ObjData.Cfg_TerrainBrush.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &50=" + this.id;//--M8笔刷表
		str = str + "  &53=" + this.o_artPath;//--artPath
		str = str + "  &54=" + this.o_name;//--名字
		str = str + "  &55=" + this.o_intensity;//--强度
		str = str + "  &56=" + this.diamondsRatio;//--钻石换算比例
		str = str + "  &57=" + this.giveNumber;//-- 赠送数量
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 50:
						this.id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 53:
						this.o_artPath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 54:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 55:
						this.o_intensity = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 56:
						this.diamondsRatio = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 57:
						this.giveNumber = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

U3dCore.Cfg_TerrainBrush_dic = { 
	"m_fieldArr" : {
		"50" : new CSUtils.AField(50, "System.Int32", "M8笔刷表", "10_9_2040_4", "id", 3, "0", "100", null, 0, "M8.ObjData.Cfg_TerrainBrush"),
		"53" : new CSUtils.AField(53, "System.String", "artPath", "fdg", "o_artPath", 3, "0", "100", null, 0, "M8.ObjData.Cfg_TerrainBrush"),
		"54" : new CSUtils.AField(54, "System.String", "名字", "", "o_name", 3, "0", "100", null, 0, "M8.ObjData.Cfg_TerrainBrush"),
		"55" : new CSUtils.AField(55, "System.Single", "强度", " ", "o_intensity", 3, "0", "100", null, 0, "M8.ObjData.Cfg_TerrainBrush"),
		"56" : new CSUtils.AField(56, "System.Single", "钻石换算比例", "", "diamondsRatio", 3, "0", "100", null, 0, "M8.ObjData.Cfg_TerrainBrush"),
		"57" : new CSUtils.AField(57, "System.Int32", " 赠送数量", "开始游戏默认赠送数量", "giveNumber", 3, "0", "100", null, 0, "M8.ObjData.Cfg_TerrainBrush"),
	},
}

//--------10_04_008_005----
//----CObjData--
U3dCore.CObjData = function(){}
U3dCore.CObjData.prototype = {
	get m_className() {return "CObjData";},
	get m_typeId() {return "10_04_008_005";},
	get m_typeTag() {return "CObjData";},
	get m_fieldArr() {return U3dCore.CObjData_dic.m_fieldArr;},
	_instanceId : 0,

	_partDatas: {},//Part_Data[]----组件数据Arr----
	_cfgIds: {},//CInt4[]----组件idArr----
	o_id: {a:0,b:0,c:0,d:0},//CInt4----系统自动分配的物体唯一Id----
	o_assetOnlyPath: {a:0,b:0,c:0,d:0},//CInt4----模型唯一路径----
	o_grade: 0,//Int32----派系，方阵----
	o_faction: 0,//Int32----派系，方阵----
	_originPosi: {},//Int16[]----模型初始位置----
	_originAngle: 0,//Byte----初始旋转----256x2==Y轴旋转角度
	_modleScale: {},//Byte[]----模型缩放比例----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 4:
				return _partDatas;
			case 5:
				return _cfgIds;
			case 14:
				return o_id;
			case 18:
				return o_assetOnlyPath;
			case 20:
				return o_grade;
			case 21:
				return o_faction;
			case 22:
				return _originPosi;
			case 23:
				return _originAngle;
			case 24:
				return _modleScale;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 4:
				_partDatas = obj;
				break;
			case 5:
				_cfgIds = obj;
				break;
			case 14:
				o_id = obj;
				break;
			case 18:
				o_assetOnlyPath = obj;
				break;
			case 20:
				o_grade = obj;
				break;
			case 21:
				o_faction = obj;
				break;
			case 22:
				_originPosi = obj;
				break;
			case 23:
				_originAngle = obj;
				break;
			case 24:
				_modleScale = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (_partDatas != null && _partDatas.Length > 0) {
			binaryWriter.Write(4);//�ֶ�����
			binaryWriter.S_WriteByteArray(_partDatas, EBaseType.e021_weData);//����
		}
		if (_cfgIds != null && _cfgIds.Length > 0) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteArray(_cfgIds, EBaseType.e014_Int4);//����
		}
		if (o_id != null && o_id != CInt4.zero) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_id, EBaseType.e014_Int4);
		}
		if (o_assetOnlyPath != null && o_assetOnlyPath != CInt4.zero) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_assetOnlyPath, EBaseType.e014_Int4);
		}
		if (o_grade != 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.Write(o_grade);//ֵ
		}
		if (o_faction != 0) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.Write(o_faction);//ֵ
		}
		if (_originPosi != null && _originPosi.Length > 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.S_WriteByteArray(_originPosi, EBaseType.e004_short);//����
		}
		if (_originAngle != 0) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.Write(_originAngle);//ֵ
		}
		if (_modleScale != null && _modleScale.Length > 0) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteArray(_modleScale, EBaseType.e003_byte);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 4:
					_partDatas = binaryReader.S_ReadByteArray(EBaseType.e021_weData, U3dGame.Part_Data, uintObjDic);
					break;
				case 5:
					_cfgIds = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 14:
				o_id = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 18:
				o_assetOnlyPath = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 20:
					o_grade = binaryReader.ReadInt32();
					break;
				case 21:
					o_faction = binaryReader.ReadInt32();
					break;
				case 22:
					_originPosi = binaryReader.S_ReadByteArray(EBaseType.e004_short, System.Int16, uintObjDic);
					break;
				case 23:
				_originAngle = binaryReader.ReadByte();
					break;
				case 24:
					_modleScale = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.CObjData.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &4=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._partDatas, EBaseType.e018_array, EBaseType.e021_weData);
		str = str + "  &5=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._cfgIds, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &14=" + this.o_id;//--系统自动分配的物体唯一Id
		str = str + "  &18=" + this.o_assetOnlyPath;//--模型唯一路径
		str = str + "  &20=" + this.o_grade;//--派系，方阵
		str = str + "  &21=" + this.o_faction;//--派系，方阵
		str = str + "  &22=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._originPosi, EBaseType.e018_array, EBaseType.e004_short);
		str = str + "  &23=" + this._originAngle;//--初始旋转
		str = str + "  &24=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this._modleScale, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 4:
						this._partDatas = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e021_weData, uintObjDic); //U3dGame.Part_Data
						break;
					case 5:
						this._cfgIds = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 14:
						this.o_id = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 18:
						this.o_assetOnlyPath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 20:
						this.o_grade = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 21:
						this.o_faction = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 22:
						this._originPosi = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e004_short, uintObjDic); //System.Int16
						break;
					case 23:
						this._originAngle = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
					case 24:
						this._modleScale = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
				}
			} catch { }
		}
	},
}

U3dCore.CObjData_dic = { 
	"m_fieldArr" : {
		"4" : new CSUtils.AField(4, "U3dGame.Part_Data[]", "组件数据Arr", "", "_partDatas", 3, "0", "100", null, 0, "U3dGame.IPartManageData<U3dGame.Part_Data>"),
		"5" : new CSUtils.AField(5, "CSUtilss.CInt4[]", "组件idArr", "", "_cfgIds", 3, "0", "100", null, 0, "U3dGame.IPartManageData<U3dGame.Part_Data>"),
		"14" : new CSUtils.AField(14, "CSUtilss.CInt4", "系统自动分配的物体唯一Id", "", "o_id", 3, "0", "100", null, 0, "U3dGame.CObjData"),
		"18" : new CSUtils.AField(18, "CSUtilss.CInt4", "模型唯一路径", "", "o_assetOnlyPath", 3, "0", "100", null, 0, "U3dGame.CObjData"),
		"20" : new CSUtils.AField(20, "System.Int32", "派系，方阵", "", "o_grade", 3, "0", "100", null, 0, "U3dGame.CObjData"),
		"21" : new CSUtils.AField(21, "System.Int32", "派系，方阵", "", "o_faction", 3, "0", "100", null, 0, "U3dGame.CObjData"),
		"22" : new CSUtils.AField(22, "System.Int16[]", "模型初始位置", "", "_originPosi", 3, "0", "100", null, 0, "U3dGame.CObjData"),
		"23" : new CSUtils.AField(23, "System.Byte", "初始旋转", "256x2==Y轴旋转角度", "_originAngle", 3, "0", "100", null, 0, "U3dGame.CObjData"),
		"24" : new CSUtils.AField(24, "System.Byte[]", "模型缩放比例", "", "_modleScale", 3, "0", "100", null, 0, "U3dGame.CObjData"),
	},
}

//--------10_04_008_004----
//----CObj_Cfg--
U3dCore.PartCfg_Obj = function(){}
U3dCore.PartCfg_Obj.prototype = {
	get m_className() {return "PartCfg_Obj";},
	get m_typeId() {return "10_04_008_004";},
	get m_typeTag() {return "CObj_Cfg";},
	get m_fieldArr() {return U3dCore.PartCfg_Obj_dic.m_fieldArr;},
	_instanceId : 0,

	o_assetOnlyPath: {a:0,b:0,c:0,d:0},//CInt4----onlyPath----
	assetType: 0,//EAssetType----资源类型----
	strId: "",//String----字符串唯一id----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 43:
				return o_assetOnlyPath;
			case 44:
				return assetType;
			case 45:
				return strId;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 43:
				o_assetOnlyPath = obj;
				break;
			case 44:
				assetType = obj;
				break;
			case 45:
				strId = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_assetOnlyPath != null && o_assetOnlyPath != CInt4.zero) {
			binaryWriter.Write(43);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_assetOnlyPath, EBaseType.e014_Int4);
		}
		if (assetType != 0) {
			binaryWriter.Write(44);//�ֶ�����
			binaryWriter.Write(assetType);//ֵ
		}
		if (string.IsNullOrEmpty(strId) == false) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.S_WriteByteObj(strId, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 43:
				o_assetOnlyPath = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 44:
					assetType = binaryReader.ReadInt16(); //CSUtilss.EAssetType
					break;
				case 45:
				strId = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.PartCfg_Obj.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &43=" + this.o_assetOnlyPath;//--onlyPath
		str = str + "  &44=" + this.assetType;//--资源类型
		str = str + "  &45=" + this.strId;//--字符串唯一id
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 43:
						this.o_assetOnlyPath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 44:
						this.assetType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //CSUtilss.EAssetType
						break;
					case 45:
						this.strId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

U3dCore.PartCfg_Obj_dic = { 
	"m_fieldArr" : {
		"43" : new CSUtils.AField(43, "CSUtilss.CInt4", "onlyPath", "", "o_assetOnlyPath", 2, "0", "100", null, 0, "U3dGame.PartCfg_Obj"),
		"44" : new CSUtils.AField(44, "CSUtilss.EAssetType", "资源类型", "", "assetType", 2, "0", "100", null, 0, "U3dGame.PartCfg_Obj"),
		"45" : new CSUtils.AField(45, "System.String", "字符串唯一id", "", "strId", 2, "0", "100", null, 0, "U3dGame.PartCfg_Obj"),
	},
}

//--------10_04_010_004----
//----属性cfg--
U3dCore.PartCfg_004_RoleProperty = function(){}
U3dCore.PartCfg_004_RoleProperty.prototype = {
	get m_className() {return "PartCfg_004_RoleProperty";},
	get m_typeId() {return "10_04_010_004";},
	get m_typeTag() {return "属性cfg";},
	get m_fieldArr() {return U3dCore.PartCfg_004_RoleProperty_dic.m_fieldArr;},
	_instanceId : 0,

	c01_BloodVolume: {},//Single[]----生命值/血量----
	c02_EnergyValue: {},//Single[]----能量值/蓝量----
	c03_physicsHurt: {},//Single[]----物理伤害/攻击力----
	c04_spellsHurt: {},//Single[]----法术伤害----
	c05_physicsDefence: {},//Single[]----物理防御----
	c06_spellsDefence: {},//Single[]----法术防御----
	c07_BloodRecovery: {},//Single[]----生命恢复/回血----
	c08_EnergyRecovery: {},//Single[]----能量恢复/回蓝----
	c09_BloodSucking: {},//Single[]----吸血----
	o_modelZoom: {},//Single[]----模型只缩放----
	o_modelSubRotaction: {},//Single[]----模型只旋转----
	o_modelSubOffect: {},//Single[]----模型只偏移----
	o_modelSubZoom: {},//Single[]----模型只缩放----
	o_leaveFightingTime: 0,//Single----脱离战斗的时间--/n----自动回血开始时间
	o_deathRebornType: 0,//EDeathRebornType----死亡重生类型----
	o_deathTime: {},//Single[]----死亡时间----英雄死亡的复活时间
	o_deathEffect: {a:0,b:0,c:0,d:0},//CInt4----死亡特效/n----死亡时播放的特效
	o_UnlockLevel: {},//Int32[][]----解锁等级/n----1=大本营等级//2=解锁数量
	o_gradeNeedExp: {},//Single[]----升级所需经验----
	o_deathExp: {},//Single[]----死亡经验----
	o_RolePrice: 0,//Int32----英雄价格----
	o_name: "",//String----名字----
	o_IsFreeAdmission: false,
	o_IconPrice: 0,//Int32----图标价格----
	o_ShopSortIndex: 0,//Byte----商店排序----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 51:
				return c01_BloodVolume;
			case 52:
				return c02_EnergyValue;
			case 53:
				return c03_physicsHurt;
			case 54:
				return c04_spellsHurt;
			case 55:
				return c05_physicsDefence;
			case 56:
				return c06_spellsDefence;
			case 57:
				return c07_BloodRecovery;
			case 58:
				return c08_EnergyRecovery;
			case 59:
				return c09_BloodSucking;
			case 100:
				return o_modelZoom;
			case 107:
				return o_modelSubRotaction;
			case 108:
				return o_modelSubOffect;
			case 109:
				return o_modelSubZoom;
			case 183:
				return o_leaveFightingTime;
			case 190:
				return o_deathRebornType;
			case 191:
				return o_deathTime;
			case 192:
				return o_deathEffect;
			case 195:
				return o_UnlockLevel;
			case 210:
				return o_gradeNeedExp;
			case 212:
				return o_deathExp;
			case 214:
				return o_RolePrice;
			case 215:
				return o_name;
			case 216:
				return o_IsFreeAdmission;
			case 218:
				return o_IconPrice;
			case 219:
				return o_ShopSortIndex;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 51:
				c01_BloodVolume = obj;
				break;
			case 52:
				c02_EnergyValue = obj;
				break;
			case 53:
				c03_physicsHurt = obj;
				break;
			case 54:
				c04_spellsHurt = obj;
				break;
			case 55:
				c05_physicsDefence = obj;
				break;
			case 56:
				c06_spellsDefence = obj;
				break;
			case 57:
				c07_BloodRecovery = obj;
				break;
			case 58:
				c08_EnergyRecovery = obj;
				break;
			case 59:
				c09_BloodSucking = obj;
				break;
			case 100:
				o_modelZoom = obj;
				break;
			case 107:
				o_modelSubRotaction = obj;
				break;
			case 108:
				o_modelSubOffect = obj;
				break;
			case 109:
				o_modelSubZoom = obj;
				break;
			case 183:
				o_leaveFightingTime = obj;
				break;
			case 190:
				o_deathRebornType = obj;
				break;
			case 191:
				o_deathTime = obj;
				break;
			case 192:
				o_deathEffect = obj;
				break;
			case 195:
				o_UnlockLevel = obj;
				break;
			case 210:
				o_gradeNeedExp = obj;
				break;
			case 212:
				o_deathExp = obj;
				break;
			case 214:
				o_RolePrice = obj;
				break;
			case 215:
				o_name = obj;
				break;
			case 216:
				o_IsFreeAdmission = obj;
				break;
			case 218:
				o_IconPrice = obj;
				break;
			case 219:
				o_ShopSortIndex = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (c01_BloodVolume != null && c01_BloodVolume.Length > 0) {
			binaryWriter.Write(51);//�ֶ�����
			binaryWriter.S_WriteByteArray(c01_BloodVolume, EBaseType.e008_float);//����
		}
		if (c02_EnergyValue != null && c02_EnergyValue.Length > 0) {
			binaryWriter.Write(52);//�ֶ�����
			binaryWriter.S_WriteByteArray(c02_EnergyValue, EBaseType.e008_float);//����
		}
		if (c03_physicsHurt != null && c03_physicsHurt.Length > 0) {
			binaryWriter.Write(53);//�ֶ�����
			binaryWriter.S_WriteByteArray(c03_physicsHurt, EBaseType.e008_float);//����
		}
		if (c04_spellsHurt != null && c04_spellsHurt.Length > 0) {
			binaryWriter.Write(54);//�ֶ�����
			binaryWriter.S_WriteByteArray(c04_spellsHurt, EBaseType.e008_float);//����
		}
		if (c05_physicsDefence != null && c05_physicsDefence.Length > 0) {
			binaryWriter.Write(55);//�ֶ�����
			binaryWriter.S_WriteByteArray(c05_physicsDefence, EBaseType.e008_float);//����
		}
		if (c06_spellsDefence != null && c06_spellsDefence.Length > 0) {
			binaryWriter.Write(56);//�ֶ�����
			binaryWriter.S_WriteByteArray(c06_spellsDefence, EBaseType.e008_float);//����
		}
		if (c07_BloodRecovery != null && c07_BloodRecovery.Length > 0) {
			binaryWriter.Write(57);//�ֶ�����
			binaryWriter.S_WriteByteArray(c07_BloodRecovery, EBaseType.e008_float);//����
		}
		if (c08_EnergyRecovery != null && c08_EnergyRecovery.Length > 0) {
			binaryWriter.Write(58);//�ֶ�����
			binaryWriter.S_WriteByteArray(c08_EnergyRecovery, EBaseType.e008_float);//����
		}
		if (c09_BloodSucking != null && c09_BloodSucking.Length > 0) {
			binaryWriter.Write(59);//�ֶ�����
			binaryWriter.S_WriteByteArray(c09_BloodSucking, EBaseType.e008_float);//����
		}
		if (o_modelZoom != null && o_modelZoom.Length > 0) {
			binaryWriter.Write(100);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_modelZoom, EBaseType.e008_float);//����
		}
		if (o_modelSubRotaction != null && o_modelSubRotaction.Length > 0) {
			binaryWriter.Write(107);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_modelSubRotaction, EBaseType.e008_float);//����
		}
		if (o_modelSubOffect != null && o_modelSubOffect.Length > 0) {
			binaryWriter.Write(108);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_modelSubOffect, EBaseType.e008_float);//����
		}
		if (o_modelSubZoom != null && o_modelSubZoom.Length > 0) {
			binaryWriter.Write(109);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_modelSubZoom, EBaseType.e008_float);//����
		}
		if (o_leaveFightingTime != 0) {
			binaryWriter.Write(183);//�ֶ�����
			binaryWriter.Write(o_leaveFightingTime);//ֵ
		}
		if (o_deathRebornType != 0) {
			binaryWriter.Write(190);//�ֶ�����
			binaryWriter.Write(o_deathRebornType);//ֵ
		}
		if (o_deathTime != null && o_deathTime.Length > 0) {
			binaryWriter.Write(191);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_deathTime, EBaseType.e008_float);//����
		}
		if (o_deathEffect != null && o_deathEffect != CInt4.zero) {
			binaryWriter.Write(192);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_deathEffect, EBaseType.e014_Int4);
		}
		if (o_UnlockLevel != null && o_UnlockLevel.Length > 0) {
			binaryWriter.Write(195);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_UnlockLevel, EBaseType.e006_int);//����
		}
		if (o_gradeNeedExp != null && o_gradeNeedExp.Length > 0) {
			binaryWriter.Write(210);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_gradeNeedExp, EBaseType.e008_float);//����
		}
		if (o_deathExp != null && o_deathExp.Length > 0) {
			binaryWriter.Write(212);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_deathExp, EBaseType.e008_float);//����
		}
		if (o_RolePrice != 0) {
			binaryWriter.Write(214);//�ֶ�����
			binaryWriter.Write(o_RolePrice);//ֵ
		}
		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(215);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		if (o_IsFreeAdmission != false) {
			binaryWriter.Write(216);//�ֶ�����
			binaryWriter.Write(o_IsFreeAdmission);//ֵ
		}
		if (o_IconPrice != 0) {
			binaryWriter.Write(218);//�ֶ�����
			binaryWriter.Write(o_IconPrice);//ֵ
		}
		if (o_ShopSortIndex != 0) {
			binaryWriter.Write(219);//�ֶ�����
			binaryWriter.Write(o_ShopSortIndex);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 51:
					c01_BloodVolume = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 52:
					c02_EnergyValue = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 53:
					c03_physicsHurt = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 54:
					c04_spellsHurt = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 55:
					c05_physicsDefence = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 56:
					c06_spellsDefence = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 57:
					c07_BloodRecovery = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 58:
					c08_EnergyRecovery = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 59:
					c09_BloodSucking = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 100:
					o_modelZoom = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 107:
					o_modelSubRotaction = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 108:
					o_modelSubOffect = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 109:
					o_modelSubZoom = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 183:
				o_leaveFightingTime = binaryReader.ReadSingle();
					break;
				case 190:
					o_deathRebornType = binaryReader.ReadInt16(); //CSUtilss.EDeathRebornType
					break;
				case 191:
					o_deathTime = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 192:
				o_deathEffect = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 195:
					o_UnlockLevel = binaryReader.S_ReadByteArrayArray(EBaseType.e006_int, System.Int32, uintObjDic);
					break;
				case 210:
					o_gradeNeedExp = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 212:
					o_deathExp = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 214:
					o_RolePrice = binaryReader.ReadInt32();
					break;
				case 215:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 216:
					o_IsFreeAdmission = binaryReader.ReadBoolean();
					break;
				case 218:
					o_IconPrice = binaryReader.ReadInt32();
					break;
				case 219:
				o_ShopSortIndex = binaryReader.ReadByte();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.PartCfg_004_RoleProperty.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &51=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c01_BloodVolume, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &52=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c02_EnergyValue, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &53=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c03_physicsHurt, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &54=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c04_spellsHurt, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &55=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c05_physicsDefence, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &56=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c06_spellsDefence, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &57=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c07_BloodRecovery, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &58=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c08_EnergyRecovery, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &59=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.c09_BloodSucking, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &100=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_modelZoom, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &107=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_modelSubRotaction, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &108=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_modelSubOffect, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &109=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_modelSubZoom, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &183=" + this.o_leaveFightingTime;//--脱离战斗的时间--/n
		str = str + "  &190=" + this.o_deathRebornType;//--死亡重生类型
		str = str + "  &191=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_deathTime, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &192=" + this.o_deathEffect;//--死亡特效/n
		str = str + "  &195=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_UnlockLevel, EBaseType.e019_arrayArray, EBaseType.e006_int);
		str = str + "  &210=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_gradeNeedExp, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &212=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_deathExp, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &214=" + this.o_RolePrice;//--英雄价格
		str = str + "  &215=" + this.o_name;//--名字
		str = str + "  &216=" + this.o_IsFreeAdmission;//--是否免费
		str = str + "  &218=" + this.o_IconPrice;//--图标价格
		str = str + "  &219=" + this.o_ShopSortIndex;//--商店排序
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 51:
						this.c01_BloodVolume = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 52:
						this.c02_EnergyValue = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 53:
						this.c03_physicsHurt = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 54:
						this.c04_spellsHurt = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 55:
						this.c05_physicsDefence = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 56:
						this.c06_spellsDefence = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 57:
						this.c07_BloodRecovery = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 58:
						this.c08_EnergyRecovery = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 59:
						this.c09_BloodSucking = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 100:
						this.o_modelZoom = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 107:
						this.o_modelSubRotaction = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 108:
						this.o_modelSubOffect = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 109:
						this.o_modelSubZoom = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 183:
						this.o_leaveFightingTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 190:
						this.o_deathRebornType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //CSUtilss.EDeathRebornType
						break;
					case 191:
						this.o_deathTime = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 192:
						this.o_deathEffect = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 195:
						this.o_UnlockLevel = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e006_int, uintObjDic); //System.Int32
						break;
					case 210:
						this.o_gradeNeedExp = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 212:
						this.o_deathExp = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 214:
						this.o_RolePrice = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 215:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 216:
						this.o_IsFreeAdmission = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 218:
						this.o_IconPrice = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 219:
						this.o_ShopSortIndex = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e003_byte, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

U3dCore.PartCfg_004_RoleProperty_dic = { 
	"m_fieldArr" : {
		"51" : new CSUtils.AField(51, "System.Single[]", "生命值/血量", "", "c01_BloodVolume", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"52" : new CSUtils.AField(52, "System.Single[]", "能量值/蓝量", "", "c02_EnergyValue", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"53" : new CSUtils.AField(53, "System.Single[]", "物理伤害/攻击力", "", "c03_physicsHurt", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"54" : new CSUtils.AField(54, "System.Single[]", "法术伤害", "", "c04_spellsHurt", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"55" : new CSUtils.AField(55, "System.Single[]", "物理防御", "", "c05_physicsDefence", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"56" : new CSUtils.AField(56, "System.Single[]", "法术防御", "", "c06_spellsDefence", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"57" : new CSUtils.AField(57, "System.Single[]", "生命恢复/回血", "", "c07_BloodRecovery", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"58" : new CSUtils.AField(58, "System.Single[]", "能量恢复/回蓝", "", "c08_EnergyRecovery", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"59" : new CSUtils.AField(59, "System.Single[]", "吸血", "", "c09_BloodSucking", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"100" : new CSUtils.AField(100, "System.Single[]", "模型只缩放", "", "o_modelZoom", 3, "0", "100", "UnityEngine.Vector3", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"107" : new CSUtils.AField(107, "System.Single[]", "模型只旋转", "", "o_modelSubRotaction", 3, "0", "100", "UnityEngine.Vector3", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"108" : new CSUtils.AField(108, "System.Single[]", "模型只偏移", "", "o_modelSubOffect", 3, "0", "100", "UnityEngine.Vector3", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"109" : new CSUtils.AField(109, "System.Single[]", "模型只缩放", "", "o_modelSubZoom", 3, "0", "100", "UnityEngine.Vector3", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"183" : new CSUtils.AField(183, "System.Single", "脱离战斗的时间--/n", "自动回血开始时间", "o_leaveFightingTime", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"190" : new CSUtils.AField(190, "CSUtilss.EDeathRebornType", "死亡重生类型", "", "o_deathRebornType", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"191" : new CSUtils.AField(191, "System.Single[]", "死亡时间", "英雄死亡的复活时间", "o_deathTime", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"192" : new CSUtils.AField(192, "CSUtilss.CInt4", "死亡特效/n", "死亡时播放的特效", "o_deathEffect", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"195" : new CSUtils.AField(195, "System.Int32[][]", "解锁等级/n", "1=大本营等级//2=解锁数量", "o_UnlockLevel", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"210" : new CSUtils.AField(210, "System.Single[]", "升级所需经验", "", "o_gradeNeedExp", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.PartCfg_004_RoleProperty"),
		"212" : new CSUtils.AField(212, "System.Single[]", "死亡经验", "", "o_deathExp", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"214" : new CSUtils.AField(214, "System.Int32", "英雄价格", "", "o_RolePrice", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"215" : new CSUtils.AField(215, "System.String", "名字", "", "o_name", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"216" : new CSUtils.AField(216, "System.Boolean", "是否免费", "", "o_IsFreeAdmission", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"218" : new CSUtils.AField(218, "System.Int32", "图标价格", "", "o_IconPrice", 3, "0", "100", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
		"219" : new CSUtils.AField(219, "System.Byte", "商店排序", "", "o_ShopSortIndex", 3, "0", "255", null, 0, "U3dGame.PartCfg_004_RoleProperty"),
	},
}

//--------10_04_011_004----
//----属性--
U3dCore.PartData_004_RoleProperty = function(){}
U3dCore.PartData_004_RoleProperty.prototype = {
	get m_className() {return "PartData_004_RoleProperty";},
	get m_typeId() {return "10_04_011_004";},
	get m_typeTag() {return "属性";},
	get m_fieldArr() {return U3dCore.PartData_004_RoleProperty_dic.m_fieldArr;},
	_instanceId : 0,

	o_objState: 0,//EObjState----生存死亡状态----
	o_Exp: 0,//Int32----经验值----
	o_currentBloodVolume: 0,//Single----当前血量----
	o_currentEnergyVlaue: 0,//Single----当前能量值----
	o_propertyType: {},//Byte[]--------
	o_values: {},//Single[][]--------
	o_add_onlyPath: {},//CInt4[]--------
	o_calculationType: {},//Byte[]--------
	o_temp_endTime: {},//Single[]--------
	o_temp_duration: {},//Single[]--------
	o_结果计算方式: {},//Byte[]--------
	o_计算优先级: {},//Byte[]--------
	e_AddType: {},//Byte[]--------
	e_AddTypeTest: {},//Byte[]--------
	e_AddTypeTest22: {},//Single[][]--------
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 12:
				return o_objState;
			case 13:
				return o_Exp;
			case 17:
				return o_currentBloodVolume;
			case 18:
				return o_currentEnergyVlaue;
			case 20:
				return o_propertyType;
			case 22:
				return o_values;
			case 24:
				return o_add_onlyPath;
			case 26:
				return o_calculationType;
			case 28:
				return o_temp_endTime;
			case 30:
				return o_temp_duration;
			case 32:
				return o_结果计算方式;
			case 34:
				return o_计算优先级;
			case 36:
				return e_AddType;
			case 46:
				return e_AddTypeTest;
			case 47:
				return e_AddTypeTest22;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 12:
				o_objState = obj;
				break;
			case 13:
				o_Exp = obj;
				break;
			case 17:
				o_currentBloodVolume = obj;
				break;
			case 18:
				o_currentEnergyVlaue = obj;
				break;
			case 20:
				o_propertyType = obj;
				break;
			case 22:
				o_values = obj;
				break;
			case 24:
				o_add_onlyPath = obj;
				break;
			case 26:
				o_calculationType = obj;
				break;
			case 28:
				o_temp_endTime = obj;
				break;
			case 30:
				o_temp_duration = obj;
				break;
			case 32:
				o_结果计算方式 = obj;
				break;
			case 34:
				o_计算优先级 = obj;
				break;
			case 36:
				e_AddType = obj;
				break;
			case 46:
				e_AddTypeTest = obj;
				break;
			case 47:
				e_AddTypeTest22 = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_objState != 0) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.Write(o_objState);//ֵ
		}
		if (o_Exp != 0) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.Write(o_Exp);//ֵ
		}
		if (o_currentBloodVolume != 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.Write(o_currentBloodVolume);//ֵ
		}
		if (o_currentEnergyVlaue != 0) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.Write(o_currentEnergyVlaue);//ֵ
		}
		if (o_propertyType != null && o_propertyType.Length > 0) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_propertyType, EBaseType.e003_byte);//����
		}
		if (o_values != null && o_values.Length > 0) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_values, EBaseType.e008_float);//����
		}
		if (o_add_onlyPath != null && o_add_onlyPath.Length > 0) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_add_onlyPath, EBaseType.e014_Int4);//����
		}
		if (o_calculationType != null && o_calculationType.Length > 0) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_calculationType, EBaseType.e003_byte);//����
		}
		if (o_temp_endTime != null && o_temp_endTime.Length > 0) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_temp_endTime, EBaseType.e008_float);//����
		}
		if (o_temp_duration != null && o_temp_duration.Length > 0) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_temp_duration, EBaseType.e008_float);//����
		}
		if (o_结果计算方式 != null && o_结果计算方式.Length > 0) {
			binaryWriter.Write(32);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_结果计算方式, EBaseType.e003_byte);//����
		}
		if (o_计算优先级 != null && o_计算优先级.Length > 0) {
			binaryWriter.Write(34);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_计算优先级, EBaseType.e003_byte);//����
		}
		if (e_AddType != null && e_AddType.Length > 0) {
			binaryWriter.Write(36);//�ֶ�����
			binaryWriter.S_WriteByteArray(e_AddType, EBaseType.e003_byte);//����
		}
		if (e_AddTypeTest != null && e_AddTypeTest.Length > 0) {
			binaryWriter.Write(46);//�ֶ�����
			binaryWriter.S_WriteByteArray(e_AddTypeTest, EBaseType.e003_byte);//����
		}
		if (e_AddTypeTest22 != null && e_AddTypeTest22.Length > 0) {
			binaryWriter.Write(47);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(e_AddTypeTest22, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 12:
					o_objState = binaryReader.ReadInt16(); //CSUtilss.EObjState
					break;
				case 13:
					o_Exp = binaryReader.ReadInt32();
					break;
				case 17:
				o_currentBloodVolume = binaryReader.ReadSingle();
					break;
				case 18:
				o_currentEnergyVlaue = binaryReader.ReadSingle();
					break;
				case 20:
					o_propertyType = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				case 22:
					o_values = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 24:
					o_add_onlyPath = binaryReader.S_ReadByteArray(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 26:
					o_calculationType = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				case 28:
					o_temp_endTime = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 30:
					o_temp_duration = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 32:
					o_结果计算方式 = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				case 34:
					o_计算优先级 = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				case 36:
					e_AddType = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				case 46:
					e_AddTypeTest = binaryReader.S_ReadByteArray(EBaseType.e003_byte, System.Byte, uintObjDic);
					break;
				case 47:
					e_AddTypeTest22 = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.PartData_004_RoleProperty.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &12=" + this.o_objState;//--生存死亡状态
		str = str + "  &13=" + this.o_Exp;//--经验值
		str = str + "  &17=" + this.o_currentBloodVolume;//--当前血量
		str = str + "  &18=" + this.o_currentEnergyVlaue;//--当前能量值
		str = str + "  &20=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_propertyType, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "  &22=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_values, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "  &24=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_add_onlyPath, EBaseType.e018_array, EBaseType.e014_Int4);
		str = str + "  &26=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_calculationType, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "  &28=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_temp_endTime, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &30=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_temp_duration, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &32=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_结果计算方式, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "  &34=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_计算优先级, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "  &36=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.e_AddType, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "  &46=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.e_AddTypeTest, EBaseType.e018_array, EBaseType.e003_byte);
		str = str + "  &47=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.e_AddTypeTest22, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 12:
						this.o_objState = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //CSUtilss.EObjState
						break;
					case 13:
						this.o_Exp = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 17:
						this.o_currentBloodVolume = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 18:
						this.o_currentEnergyVlaue = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 20:
						this.o_propertyType = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
					case 22:
						this.o_values = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 24:
						this.o_add_onlyPath = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e014_Int4, uintObjDic); //CSUtilss.CInt4
						break;
					case 26:
						this.o_calculationType = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
					case 28:
						this.o_temp_endTime = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 30:
						this.o_temp_duration = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 32:
						this.o_结果计算方式 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
					case 34:
						this.o_计算优先级 = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
					case 36:
						this.e_AddType = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
					case 46:
						this.e_AddTypeTest = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e003_byte, uintObjDic); //System.Byte
						break;
					case 47:
						this.e_AddTypeTest22 = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

U3dCore.PartData_004_RoleProperty_dic = { 
	"m_fieldArr" : {
		"12" : new CSUtils.AField(12, "CSUtilss.EObjState", "生存死亡状态", "", "o_objState", 3, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"13" : new CSUtils.AField(13, "System.Int32", "经验值", "", "o_Exp", 3, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"17" : new CSUtils.AField(17, "System.Single", "当前血量", "", "o_currentBloodVolume", 3, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"18" : new CSUtils.AField(18, "System.Single", "当前能量值", "", "o_currentEnergyVlaue", 3, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"20" : new CSUtils.AField(20, "System.Byte[]", "", "", "o_propertyType", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"22" : new CSUtils.AField(22, "System.Single[][]", "", "", "o_values", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"24" : new CSUtils.AField(24, "CSUtilss.CInt4[]", "", "", "o_add_onlyPath", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"26" : new CSUtils.AField(26, "System.Byte[]", "", "", "o_calculationType", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"28" : new CSUtils.AField(28, "System.Single[]", "", "", "o_temp_endTime", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"30" : new CSUtils.AField(30, "System.Single[]", "", "", "o_temp_duration", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"32" : new CSUtils.AField(32, "System.Byte[]", "", "", "o_结果计算方式", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"34" : new CSUtils.AField(34, "System.Byte[]", "", "", "o_计算优先级", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"36" : new CSUtils.AField(36, "System.Byte[]", "", "", "e_AddType", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"46" : new CSUtils.AField(46, "System.Byte[]", "", "", "e_AddTypeTest", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
		"47" : new CSUtils.AField(47, "System.Single[][]", "", "", "e_AddTypeTest22", 1, "0", "100", null, 0, "U3dGame.PartData_004_RoleProperty"),
	},
}

//--------10_04_001_001----
//----buff结果值--
U3dCore.CResultValue = function(){}
U3dCore.CResultValue.prototype = {
	get m_className() {return "CResultValue";},
	get m_typeId() {return "10_04_001_001";},
	get m_typeTag() {return "buff结果值";},
	get m_fieldArr() {return U3dCore.CResultValue_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.U3dGame.CResultValue.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

U3dCore.CResultValue_dic = { 
	"m_fieldArr" : {
	},
}

//--------10_04_001_002----
//----基础属性--
U3dCore.M_EternalProperty = function(){}
U3dCore.M_EternalProperty.prototype = {
	get m_className() {return "M_EternalProperty";},
	get m_typeId() {return "10_04_001_002";},
	get m_typeTag() {return "基础属性";},
	get m_fieldArr() {return U3dCore.M_EternalProperty_dic.m_fieldArr;},
	_instanceId : 0,

	o_propertyType: 0,//EPropertyType----作用的属性类型----
	o_calculationType: 0,//ECalculationType----单个结果计算方式----百分比，相加
	o_values: {},//Single[]----数值----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 30:
				return o_propertyType;
			case 121:
				return o_calculationType;
			case 134:
				return o_values;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 30:
				o_propertyType = obj;
				break;
			case 121:
				o_calculationType = obj;
				break;
			case 134:
				o_values = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_propertyType != 0) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.Write(o_propertyType);//ֵ
		}
		if (o_calculationType != 0) {
			binaryWriter.Write(121);//�ֶ�����
			binaryWriter.Write(o_calculationType);//ֵ
		}
		if (o_values != null && o_values.Length > 0) {
			binaryWriter.Write(134);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_values, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 30:
					o_propertyType = binaryReader.ReadInt16(); //U3dGame.EPropertyType
					break;
				case 121:
					o_calculationType = binaryReader.ReadInt16(); //U3dGame.ECalculationType
					break;
				case 134:
					o_values = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.M_EternalProperty.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &30=" + this.o_propertyType;//--作用的属性类型
		str = str + "  &121=" + this.o_calculationType;//--单个结果计算方式
		str = str + "  &134=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_values, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 30:
						this.o_propertyType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.EPropertyType
						break;
					case 121:
						this.o_calculationType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.ECalculationType
						break;
					case 134:
						this.o_values = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

U3dCore.M_EternalProperty_dic = { 
	"m_fieldArr" : {
		"30" : new CSUtils.AField(30, "U3dGame.EPropertyType", "作用的属性类型", "", "o_propertyType", 3, "0", "100", null, 0, "U3dGame.M_EternalProperty"),
		"121" : new CSUtils.AField(121, "U3dGame.ECalculationType", "单个结果计算方式", "百分比，相加", "o_calculationType", 3, "0", "100", null, 0, "U3dGame.M_EternalProperty"),
		"134" : new CSUtils.AField(134, "System.Single[]", "数值", "", "o_values", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.M_EternalProperty"),
	},
}

//--------10_04_001_003----
//----SkillBuff属性--
U3dCore.M_SkillBuffProperty = function(){}
U3dCore.M_SkillBuffProperty.prototype = {
	get m_className() {return "M_SkillBuffProperty";},
	get m_typeId() {return "10_04_001_003";},
	get m_typeTag() {return "SkillBuff属性";},
	get m_fieldArr() {return U3dCore.M_SkillBuffProperty_dic.m_fieldArr;},
	_instanceId : 0,

	o_propertyType: 0,//EPropertyType----作用的属性类型----
	o_temp_作用Obj: 0,//E_exertObj----数值所用的对象----
	o_values: {},//Single[]----数值----
	o_temp_priority: 0,//Int32----计算优先级----自己的技能加速移动，敌人的技能减速移动，是加速还是减速通过优先级来判断
	o_temp_duration: 0,//Single----间隔时间----
	o_temp_endTime: 0,//Single----结束时间----
	o_originSkillId: 0,//Int32----属性的来源id----
	o_isEnemy: false,
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 30:
				return o_propertyType;
			case 131:
				return o_temp_作用Obj;
			case 134:
				return o_values;
			case 147:
				return o_temp_priority;
			case 160:
				return o_temp_duration;
			case 162:
				return o_temp_endTime;
			case 180:
				return o_originSkillId;
			case 182:
				return o_isEnemy;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 30:
				o_propertyType = obj;
				break;
			case 131:
				o_temp_作用Obj = obj;
				break;
			case 134:
				o_values = obj;
				break;
			case 147:
				o_temp_priority = obj;
				break;
			case 160:
				o_temp_duration = obj;
				break;
			case 162:
				o_temp_endTime = obj;
				break;
			case 180:
				o_originSkillId = obj;
				break;
			case 182:
				o_isEnemy = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_propertyType != 0) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.Write(o_propertyType);//ֵ
		}
		if (o_temp_作用Obj != 0) {
			binaryWriter.Write(131);//�ֶ�����
			binaryWriter.Write(o_temp_作用Obj);//ֵ
		}
		if (o_values != null && o_values.Length > 0) {
			binaryWriter.Write(134);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_values, EBaseType.e008_float);//����
		}
		if (o_temp_priority != 0) {
			binaryWriter.Write(147);//�ֶ�����
			binaryWriter.Write(o_temp_priority);//ֵ
		}
		if (o_temp_duration != 0) {
			binaryWriter.Write(160);//�ֶ�����
			binaryWriter.Write(o_temp_duration);//ֵ
		}
		if (o_temp_endTime != 0) {
			binaryWriter.Write(162);//�ֶ�����
			binaryWriter.Write(o_temp_endTime);//ֵ
		}
		if (o_originSkillId != 0) {
			binaryWriter.Write(180);//�ֶ�����
			binaryWriter.Write(o_originSkillId);//ֵ
		}
		if (o_isEnemy != false) {
			binaryWriter.Write(182);//�ֶ�����
			binaryWriter.Write(o_isEnemy);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 30:
					o_propertyType = binaryReader.ReadInt16(); //U3dGame.EPropertyType
					break;
				case 131:
					o_temp_作用Obj = binaryReader.ReadInt16(); //U3dGame.E_exertObj
					break;
				case 134:
					o_values = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 147:
					o_temp_priority = binaryReader.ReadInt32();
					break;
				case 160:
				o_temp_duration = binaryReader.ReadSingle();
					break;
				case 162:
				o_temp_endTime = binaryReader.ReadSingle();
					break;
				case 180:
					o_originSkillId = binaryReader.ReadInt32();
					break;
				case 182:
					o_isEnemy = binaryReader.ReadBoolean();
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.M_SkillBuffProperty.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &30=" + this.o_propertyType;//--作用的属性类型
		str = str + "  &131=" + this.o_temp_作用Obj;//--数值所用的对象
		str = str + "  &134=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_values, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &147=" + this.o_temp_priority;//--计算优先级
		str = str + "  &160=" + this.o_temp_duration;//--间隔时间
		str = str + "  &162=" + this.o_temp_endTime;//--结束时间
		str = str + "  &180=" + this.o_originSkillId;//--属性的来源id
		str = str + "  &182=" + this.o_isEnemy;//--是否敌人
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 30:
						this.o_propertyType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.EPropertyType
						break;
					case 131:
						this.o_temp_作用Obj = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e017_Enum, uintObjDic);  //U3dGame.E_exertObj
						break;
					case 134:
						this.o_values = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 147:
						this.o_temp_priority = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 160:
						this.o_temp_duration = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 162:
						this.o_temp_endTime = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e008_float, uintObjDic);
						break;
					case 180:
						this.o_originSkillId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 182:
						this.o_isEnemy = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

U3dCore.M_SkillBuffProperty_dic = { 
	"m_fieldArr" : {
		"30" : new CSUtils.AField(30, "U3dGame.EPropertyType", "作用的属性类型", "", "o_propertyType", 3, "0", "100", null, 0, "U3dGame.M_SkillBuffProperty"),
		"131" : new CSUtils.AField(131, "U3dGame.E_exertObj", "数值所用的对象", "", "o_temp_作用Obj", 3, "0", "100", null, 0, "U3dGame.M_SkillBuffProperty"),
		"134" : new CSUtils.AField(134, "System.Single[]", "数值", "", "o_values", 3, "0", "100", "CSUtilss.C4Curve", 0, "U3dGame.M_SkillBuffProperty"),
		"147" : new CSUtils.AField(147, "System.Int32", "计算优先级", "自己的技能加速移动，敌人的技能减速移动，是加速还是减速通过优先级来判断", "o_temp_priority", 3, "0", "100", null, 0, "U3dGame.M_SkillBuffProperty"),
		"160" : new CSUtils.AField(160, "System.Single", "间隔时间", "", "o_temp_duration", 3, "0", "100", null, 0, "U3dGame.M_SkillBuffProperty"),
		"162" : new CSUtils.AField(162, "System.Single", "结束时间", "", "o_temp_endTime", 1, "0", "100", null, 0, "U3dGame.M_SkillBuffProperty"),
		"180" : new CSUtils.AField(180, "System.Int32", "属性的来源id", "", "o_originSkillId", 1, "0", "100", null, 0, "U3dGame.M_SkillBuffProperty"),
		"182" : new CSUtils.AField(182, "System.Boolean", "是否敌人", "", "o_isEnemy", 1, "0", "100", null, 0, "U3dGame.M_SkillBuffProperty"),
	},
}

//--------10_04_010_021----
//----2DSpriteObjCfg--
U3dCore.PartCfg_021_2DSpriteObjData = function(){}
U3dCore.PartCfg_021_2DSpriteObjData.prototype = {
	get m_className() {return "PartCfg_021_2DSpriteObjData";},
	get m_typeId() {return "10_04_010_021";},
	get m_typeTag() {return "2DSpriteObjCfg";},
	get m_fieldArr() {return U3dCore.PartCfg_021_2DSpriteObjData_dic.m_fieldArr;},
	_instanceId : 0,

	o_corePosRatio: {},//Single[]----中心位置缩放比例----
	o_collision_corePosi_radius: {},//Single[]----碰撞体_中心点比例xy_宽高半径比例xy----
	o_pointPsoiRatioArr: {},//Single[][]----点位置缩放比例Arr----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 17:
				return o_corePosRatio;
			case 19:
				return o_collision_corePosi_radius;
			case 35:
				return o_pointPsoiRatioArr;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 17:
				o_corePosRatio = obj;
				break;
			case 19:
				o_collision_corePosi_radius = obj;
				break;
			case 35:
				o_pointPsoiRatioArr = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_corePosRatio != null && o_corePosRatio.Length > 0) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_corePosRatio, EBaseType.e008_float);//����
		}
		if (o_collision_corePosi_radius != null && o_collision_corePosi_radius.Length > 0) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_collision_corePosi_radius, EBaseType.e008_float);//����
		}
		if (o_pointPsoiRatioArr != null && o_pointPsoiRatioArr.Length > 0) {
			binaryWriter.Write(35);//�ֶ�����
			binaryWriter.S_WriteByteArrayArray(o_pointPsoiRatioArr, EBaseType.e008_float);//����
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 17:
					o_corePosRatio = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 19:
					o_collision_corePosi_radius = binaryReader.S_ReadByteArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				case 35:
					o_pointPsoiRatioArr = binaryReader.S_ReadByteArrayArray(EBaseType.e008_float, System.Single, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dGame.PartCfg_021_2DSpriteObjData.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &17=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_corePosRatio, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &19=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_collision_corePosi_radius, EBaseType.e018_array, EBaseType.e008_float);
		str = str + "  &35=" + CSUtilss.WeDataTools.S_WriteStringObjArrayArray(this.o_pointPsoiRatioArr, EBaseType.e019_arrayArray, EBaseType.e008_float);
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 17:
						this.o_corePosRatio = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 19:
						this.o_collision_corePosi_radius = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
					case 35:
						this.o_pointPsoiRatioArr = CSUtilss.WeDataTools.S_ReadStringArrayArray(keyValueArr[1], EBaseType.e008_float, uintObjDic); //System.Single
						break;
				}
			} catch { }
		}
	},
}

U3dCore.PartCfg_021_2DSpriteObjData_dic = { 
	"m_fieldArr" : {
		"17" : new CSUtils.AField(17, "System.Single[]", "中心位置缩放比例", "", "o_corePosRatio", 3, "0", "100", null, 0, "U3dGame.PartCfg_021_2DSpriteObjData"),
		"19" : new CSUtils.AField(19, "System.Single[]", "碰撞体_中心点比例xy_宽高半径比例xy", "", "o_collision_corePosi_radius", 3, "0", "100", null, 0, "U3dGame.PartCfg_021_2DSpriteObjData"),
		"35" : new CSUtils.AField(35, "System.Single[][]", "点位置缩放比例Arr", "", "o_pointPsoiRatioArr", 3, "0", "100", null, 0, "U3dGame.PartCfg_021_2DSpriteObjData"),
	},
}

//--------4_08_011_005----
//----测试--
U3dUtils.WWee = function(){}
U3dUtils.WWee.prototype = {
	get m_className() {return "WWee";},
	get m_typeId() {return "4_08_011_005";},
	get m_typeTag() {return "测试";},
	get m_fieldArr() {return U3dUtils.WWee_dic.m_fieldArr;},
	_instanceId : 0,

	o_name: "",//String----o_name----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 72:
				return o_name;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 72:
				o_name = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(o_name) == false) {
			binaryWriter.Write(72);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_name, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 72:
				o_name = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.U3dUtils.WWee.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &72=" + this.o_name;//--o_name
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 72:
						this.o_name = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

U3dUtils.WWee_dic = { 
	"m_fieldArr" : {
		"72" : new CSUtils.AField(72, "System.String", "o_name", "", "o_name", 3, "0", "100", null, 0, "U3dUtils.WWee"),
	},
}

//--------10_07_009_004----
//----Cfg物体.语言表--
UI02.Part.ObjCfg_Language = function(){}
UI02.Part.ObjCfg_Language.prototype = {
	get m_className() {return "ObjCfg_Language";},
	get m_typeId() {return "10_07_009_004";},
	get m_typeTag() {return "Cfg物体.语言表";},
	get m_fieldArr() {return UI02.Part.ObjCfg_Language_dic.m_fieldArr;},
	_instanceId : 0,

	Afrikaans: "",//String----南非荷兰语---- 
	Arabic: "",//String----阿拉伯语---- 
	Basque: "",//String----巴斯克---- 
	Belarusian: "",//String----白俄罗斯语---- 
	Bulgarian: "",//String----保加利亚人---- 
	Catalan: "",//String----加泰罗尼亚人---- 
	Chinese: "",//String----中文(简体)---- 
	Czech: "",//String----捷克的---- 
	Danish: "",//String----丹麦语---- 
	Dutch: "",//String----荷兰语---- 
	English: "",//String----英语---- 
	Estonian: "",//String----荷兰语---- 
	Faroese: "",//String----法罗语---- 
	Finnish: "",//String----芬兰的---- 
	French: "",//String----法语---- 
	German: "",//String----德国的---- 
	Greek: "",//String----希腊人---- 
	Hebrew: "",//String----希伯来语---- 
	Hungarian: "",//String----匈牙利语---- 
	Icelandic: "",//String----冰岛的---- 
	Indonesian: "",//String----印度尼西亚人---- 
	Italian: "",//String----意大利人---- 
	Japanese: "",//String----日本人---- 
	Korean: "",//String----韩国人---- 
	Latvian: "",//String----拉脱维亚语---- 
	Lithuanian: "",//String----立陶宛人---- 
	Norwegian: "",//String----挪威语---- 
	Polish: "",//String----波兰语---- 
	Portuguese: "",//String----葡萄牙语---- 
	Romanian: "",//String----罗马尼亚人的---- 
	Russian: "",//String----俄语---- 
	SerboCroatian: "",//String----塞尔维亚克罗地亚的---- 
	Slovak: "",//String----斯洛伐克人---- 
	Slovenian: "",//String----斯洛文尼亚人---- 
	Spanish: "",//String----西班牙的---- 
	Swedish: "",//String----瑞典的---- 
	Thai: "",//String----泰国人---- 
	Turkish: "",//String----土耳其---- 
	Ukrainian: "",//String----乌克兰人的---- 
	Vietnamese: "",//String----越南的---- 
	ChineseTraditional: "",//String----中文繁体---- 
	Unknown: "",//String----未知---- 
	o_fieldName: "",//String----中文说明----ddd
	explain: "",//String----说明----ddd
	onlyPath: {a:0,b:0,c:0,d:0},//CInt4----唯一资源路径---- 
	autoTextPath: "",//String----自动赋值文本路径/n----ddd
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 0:
				return Afrikaans;
			case 1:
				return Arabic;
			case 2:
				return Basque;
			case 3:
				return Belarusian;
			case 4:
				return Bulgarian;
			case 5:
				return Catalan;
			case 6:
				return Chinese;
			case 7:
				return Czech;
			case 8:
				return Danish;
			case 9:
				return Dutch;
			case 10:
				return English;
			case 11:
				return Estonian;
			case 12:
				return Faroese;
			case 13:
				return Finnish;
			case 14:
				return French;
			case 15:
				return German;
			case 16:
				return Greek;
			case 17:
				return Hebrew;
			case 18:
				return Hungarian;
			case 19:
				return Icelandic;
			case 20:
				return Indonesian;
			case 21:
				return Italian;
			case 22:
				return Japanese;
			case 23:
				return Korean;
			case 24:
				return Latvian;
			case 25:
				return Lithuanian;
			case 26:
				return Norwegian;
			case 27:
				return Polish;
			case 28:
				return Portuguese;
			case 29:
				return Romanian;
			case 30:
				return Russian;
			case 31:
				return SerboCroatian;
			case 32:
				return Slovak;
			case 33:
				return Slovenian;
			case 34:
				return Spanish;
			case 35:
				return Swedish;
			case 36:
				return Thai;
			case 37:
				return Turkish;
			case 38:
				return Ukrainian;
			case 39:
				return Vietnamese;
			case 41:
				return ChineseTraditional;
			case 42:
				return Unknown;
			case 200:
				return o_fieldName;
			case 201:
				return explain;
			case 202:
				return onlyPath;
			case 203:
				return autoTextPath;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 0:
				Afrikaans = obj;
				break;
			case 1:
				Arabic = obj;
				break;
			case 2:
				Basque = obj;
				break;
			case 3:
				Belarusian = obj;
				break;
			case 4:
				Bulgarian = obj;
				break;
			case 5:
				Catalan = obj;
				break;
			case 6:
				Chinese = obj;
				break;
			case 7:
				Czech = obj;
				break;
			case 8:
				Danish = obj;
				break;
			case 9:
				Dutch = obj;
				break;
			case 10:
				English = obj;
				break;
			case 11:
				Estonian = obj;
				break;
			case 12:
				Faroese = obj;
				break;
			case 13:
				Finnish = obj;
				break;
			case 14:
				French = obj;
				break;
			case 15:
				German = obj;
				break;
			case 16:
				Greek = obj;
				break;
			case 17:
				Hebrew = obj;
				break;
			case 18:
				Hungarian = obj;
				break;
			case 19:
				Icelandic = obj;
				break;
			case 20:
				Indonesian = obj;
				break;
			case 21:
				Italian = obj;
				break;
			case 22:
				Japanese = obj;
				break;
			case 23:
				Korean = obj;
				break;
			case 24:
				Latvian = obj;
				break;
			case 25:
				Lithuanian = obj;
				break;
			case 26:
				Norwegian = obj;
				break;
			case 27:
				Polish = obj;
				break;
			case 28:
				Portuguese = obj;
				break;
			case 29:
				Romanian = obj;
				break;
			case 30:
				Russian = obj;
				break;
			case 31:
				SerboCroatian = obj;
				break;
			case 32:
				Slovak = obj;
				break;
			case 33:
				Slovenian = obj;
				break;
			case 34:
				Spanish = obj;
				break;
			case 35:
				Swedish = obj;
				break;
			case 36:
				Thai = obj;
				break;
			case 37:
				Turkish = obj;
				break;
			case 38:
				Ukrainian = obj;
				break;
			case 39:
				Vietnamese = obj;
				break;
			case 41:
				ChineseTraditional = obj;
				break;
			case 42:
				Unknown = obj;
				break;
			case 200:
				o_fieldName = obj;
				break;
			case 201:
				explain = obj;
				break;
			case 202:
				onlyPath = obj;
				break;
			case 203:
				autoTextPath = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(Afrikaans) == false) {
			binaryWriter.Write(0);//�ֶ�����
			binaryWriter.S_WriteByteObj(Afrikaans, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Arabic) == false) {
			binaryWriter.Write(1);//�ֶ�����
			binaryWriter.S_WriteByteObj(Arabic, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Basque) == false) {
			binaryWriter.Write(2);//�ֶ�����
			binaryWriter.S_WriteByteObj(Basque, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Belarusian) == false) {
			binaryWriter.Write(3);//�ֶ�����
			binaryWriter.S_WriteByteObj(Belarusian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Bulgarian) == false) {
			binaryWriter.Write(4);//�ֶ�����
			binaryWriter.S_WriteByteObj(Bulgarian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Catalan) == false) {
			binaryWriter.Write(5);//�ֶ�����
			binaryWriter.S_WriteByteObj(Catalan, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Chinese) == false) {
			binaryWriter.Write(6);//�ֶ�����
			binaryWriter.S_WriteByteObj(Chinese, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Czech) == false) {
			binaryWriter.Write(7);//�ֶ�����
			binaryWriter.S_WriteByteObj(Czech, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Danish) == false) {
			binaryWriter.Write(8);//�ֶ�����
			binaryWriter.S_WriteByteObj(Danish, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Dutch) == false) {
			binaryWriter.Write(9);//�ֶ�����
			binaryWriter.S_WriteByteObj(Dutch, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(English) == false) {
			binaryWriter.Write(10);//�ֶ�����
			binaryWriter.S_WriteByteObj(English, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Estonian) == false) {
			binaryWriter.Write(11);//�ֶ�����
			binaryWriter.S_WriteByteObj(Estonian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Faroese) == false) {
			binaryWriter.Write(12);//�ֶ�����
			binaryWriter.S_WriteByteObj(Faroese, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Finnish) == false) {
			binaryWriter.Write(13);//�ֶ�����
			binaryWriter.S_WriteByteObj(Finnish, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(French) == false) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.S_WriteByteObj(French, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(German) == false) {
			binaryWriter.Write(15);//�ֶ�����
			binaryWriter.S_WriteByteObj(German, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Greek) == false) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.S_WriteByteObj(Greek, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Hebrew) == false) {
			binaryWriter.Write(17);//�ֶ�����
			binaryWriter.S_WriteByteObj(Hebrew, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Hungarian) == false) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteObj(Hungarian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Icelandic) == false) {
			binaryWriter.Write(19);//�ֶ�����
			binaryWriter.S_WriteByteObj(Icelandic, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Indonesian) == false) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.S_WriteByteObj(Indonesian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Italian) == false) {
			binaryWriter.Write(21);//�ֶ�����
			binaryWriter.S_WriteByteObj(Italian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Japanese) == false) {
			binaryWriter.Write(22);//�ֶ�����
			binaryWriter.S_WriteByteObj(Japanese, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Korean) == false) {
			binaryWriter.Write(23);//�ֶ�����
			binaryWriter.S_WriteByteObj(Korean, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Latvian) == false) {
			binaryWriter.Write(24);//�ֶ�����
			binaryWriter.S_WriteByteObj(Latvian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Lithuanian) == false) {
			binaryWriter.Write(25);//�ֶ�����
			binaryWriter.S_WriteByteObj(Lithuanian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Norwegian) == false) {
			binaryWriter.Write(26);//�ֶ�����
			binaryWriter.S_WriteByteObj(Norwegian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Polish) == false) {
			binaryWriter.Write(27);//�ֶ�����
			binaryWriter.S_WriteByteObj(Polish, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Portuguese) == false) {
			binaryWriter.Write(28);//�ֶ�����
			binaryWriter.S_WriteByteObj(Portuguese, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Romanian) == false) {
			binaryWriter.Write(29);//�ֶ�����
			binaryWriter.S_WriteByteObj(Romanian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Russian) == false) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.S_WriteByteObj(Russian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(SerboCroatian) == false) {
			binaryWriter.Write(31);//�ֶ�����
			binaryWriter.S_WriteByteObj(SerboCroatian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Slovak) == false) {
			binaryWriter.Write(32);//�ֶ�����
			binaryWriter.S_WriteByteObj(Slovak, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Slovenian) == false) {
			binaryWriter.Write(33);//�ֶ�����
			binaryWriter.S_WriteByteObj(Slovenian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Spanish) == false) {
			binaryWriter.Write(34);//�ֶ�����
			binaryWriter.S_WriteByteObj(Spanish, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Swedish) == false) {
			binaryWriter.Write(35);//�ֶ�����
			binaryWriter.S_WriteByteObj(Swedish, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Thai) == false) {
			binaryWriter.Write(36);//�ֶ�����
			binaryWriter.S_WriteByteObj(Thai, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Turkish) == false) {
			binaryWriter.Write(37);//�ֶ�����
			binaryWriter.S_WriteByteObj(Turkish, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Ukrainian) == false) {
			binaryWriter.Write(38);//�ֶ�����
			binaryWriter.S_WriteByteObj(Ukrainian, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Vietnamese) == false) {
			binaryWriter.Write(39);//�ֶ�����
			binaryWriter.S_WriteByteObj(Vietnamese, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(ChineseTraditional) == false) {
			binaryWriter.Write(41);//�ֶ�����
			binaryWriter.S_WriteByteObj(ChineseTraditional, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(Unknown) == false) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.S_WriteByteObj(Unknown, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(o_fieldName) == false) {
			binaryWriter.Write(200);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_fieldName, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(explain) == false) {
			binaryWriter.Write(201);//�ֶ�����
			binaryWriter.S_WriteByteObj(explain, EBaseType.e012_string);
		}
		if (onlyPath != null && onlyPath != CInt4.zero) {
			binaryWriter.Write(202);//�ֶ�����
			binaryWriter.S_WriteByteObj(onlyPath, EBaseType.e014_Int4);
		}
		if (string.IsNullOrEmpty(autoTextPath) == false) {
			binaryWriter.Write(203);//�ֶ�����
			binaryWriter.S_WriteByteObj(autoTextPath, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 0:
				Afrikaans = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 1:
				Arabic = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 2:
				Basque = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 3:
				Belarusian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 4:
				Bulgarian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 5:
				Catalan = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 6:
				Chinese = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 7:
				Czech = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 8:
				Danish = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 9:
				Dutch = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 10:
				English = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 11:
				Estonian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 12:
				Faroese = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 13:
				Finnish = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 14:
				French = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 15:
				German = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 16:
				Greek = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 17:
				Hebrew = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 18:
				Hungarian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 19:
				Icelandic = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 20:
				Indonesian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 21:
				Italian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 22:
				Japanese = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 23:
				Korean = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 24:
				Latvian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 25:
				Lithuanian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 26:
				Norwegian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 27:
				Polish = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 28:
				Portuguese = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 29:
				Romanian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 30:
				Russian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 31:
				SerboCroatian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 32:
				Slovak = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 33:
				Slovenian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 34:
				Spanish = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 35:
				Swedish = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 36:
				Thai = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 37:
				Turkish = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 38:
				Ukrainian = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 39:
				Vietnamese = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 41:
				ChineseTraditional = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 42:
				Unknown = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 200:
				o_fieldName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 201:
				explain = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 202:
				onlyPath = binaryReader.S_ReadByteObj(EBaseType.e014_Int4, CSUtilss.CInt4, uintObjDic);
					break;
				case 203:
				autoTextPath = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.UI02.ObjCfg_Language.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &0=" + this.Afrikaans;//--南非荷兰语
		str = str + "  &1=" + this.Arabic;//--阿拉伯语
		str = str + "  &2=" + this.Basque;//--巴斯克
		str = str + "  &3=" + this.Belarusian;//--白俄罗斯语
		str = str + "  &4=" + this.Bulgarian;//--保加利亚人
		str = str + "  &5=" + this.Catalan;//--加泰罗尼亚人
		str = str + "  &6=" + this.Chinese;//--中文(简体)
		str = str + "  &7=" + this.Czech;//--捷克的
		str = str + "  &8=" + this.Danish;//--丹麦语
		str = str + "  &9=" + this.Dutch;//--荷兰语
		str = str + "  &10=" + this.English;//--英语
		str = str + "  &11=" + this.Estonian;//--荷兰语
		str = str + "  &12=" + this.Faroese;//--法罗语
		str = str + "  &13=" + this.Finnish;//--芬兰的
		str = str + "  &14=" + this.French;//--法语
		str = str + "  &15=" + this.German;//--德国的
		str = str + "  &16=" + this.Greek;//--希腊人
		str = str + "  &17=" + this.Hebrew;//--希伯来语
		str = str + "  &18=" + this.Hungarian;//--匈牙利语
		str = str + "  &19=" + this.Icelandic;//--冰岛的
		str = str + "  &20=" + this.Indonesian;//--印度尼西亚人
		str = str + "  &21=" + this.Italian;//--意大利人
		str = str + "  &22=" + this.Japanese;//--日本人
		str = str + "  &23=" + this.Korean;//--韩国人
		str = str + "  &24=" + this.Latvian;//--拉脱维亚语
		str = str + "  &25=" + this.Lithuanian;//--立陶宛人
		str = str + "  &26=" + this.Norwegian;//--挪威语
		str = str + "  &27=" + this.Polish;//--波兰语
		str = str + "  &28=" + this.Portuguese;//--葡萄牙语
		str = str + "  &29=" + this.Romanian;//--罗马尼亚人的
		str = str + "  &30=" + this.Russian;//--俄语
		str = str + "  &31=" + this.SerboCroatian;//--塞尔维亚克罗地亚的
		str = str + "  &32=" + this.Slovak;//--斯洛伐克人
		str = str + "  &33=" + this.Slovenian;//--斯洛文尼亚人
		str = str + "  &34=" + this.Spanish;//--西班牙的
		str = str + "  &35=" + this.Swedish;//--瑞典的
		str = str + "  &36=" + this.Thai;//--泰国人
		str = str + "  &37=" + this.Turkish;//--土耳其
		str = str + "  &38=" + this.Ukrainian;//--乌克兰人的
		str = str + "  &39=" + this.Vietnamese;//--越南的
		str = str + "  &41=" + this.ChineseTraditional;//--中文繁体
		str = str + "  &42=" + this.Unknown;//--未知
		str = str + "  &200=" + this.o_fieldName;//--中文说明
		str = str + "  &201=" + this.explain;//--说明
		str = str + "  &202=" + this.onlyPath;//--唯一资源路径
		str = str + "  &203=" + this.autoTextPath;//--自动赋值文本路径/n
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 0:
						this.Afrikaans = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 1:
						this.Arabic = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 2:
						this.Basque = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 3:
						this.Belarusian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 4:
						this.Bulgarian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 5:
						this.Catalan = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 6:
						this.Chinese = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 7:
						this.Czech = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 8:
						this.Danish = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 9:
						this.Dutch = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 10:
						this.English = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 11:
						this.Estonian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 12:
						this.Faroese = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 13:
						this.Finnish = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 14:
						this.French = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 15:
						this.German = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 16:
						this.Greek = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 17:
						this.Hebrew = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 18:
						this.Hungarian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 19:
						this.Icelandic = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 20:
						this.Indonesian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 21:
						this.Italian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 22:
						this.Japanese = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 23:
						this.Korean = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 24:
						this.Latvian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 25:
						this.Lithuanian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 26:
						this.Norwegian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 27:
						this.Polish = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 28:
						this.Portuguese = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 29:
						this.Romanian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 30:
						this.Russian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 31:
						this.SerboCroatian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 32:
						this.Slovak = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 33:
						this.Slovenian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 34:
						this.Spanish = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 35:
						this.Swedish = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 36:
						this.Thai = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 37:
						this.Turkish = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 38:
						this.Ukrainian = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 39:
						this.Vietnamese = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 41:
						this.ChineseTraditional = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 42:
						this.Unknown = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 200:
						this.o_fieldName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 201:
						this.explain = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 202:
						this.onlyPath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e014_Int4, uintObjDic);
						break;
					case 203:
						this.autoTextPath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

UI02.Part.ObjCfg_Language_dic = { 
	"m_fieldArr" : {
		"200" : new CSUtils.AField(200, "System.String", "中文说明", "ddd", "o_fieldName", 3, "0", "100", null, 5, "UI02.ObjCfg_Language"),
		"201" : new CSUtils.AField(201, "System.String", "说明", "ddd", "explain", 3, "0", "100", null, 5, "UI02.ObjCfg_Language"),
		"203" : new CSUtils.AField(203, "System.String", "自动赋值文本路径/n", "ddd", "autoTextPath", 3, "0", "100", null, 5, "UI02.ObjCfg_Language"),
		"0" : new CSUtils.AField(0, "System.String", "南非荷兰语", " ", "Afrikaans", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"1" : new CSUtils.AField(1, "System.String", "阿拉伯语", " ", "Arabic", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"2" : new CSUtils.AField(2, "System.String", "巴斯克", " ", "Basque", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"3" : new CSUtils.AField(3, "System.String", "白俄罗斯语", " ", "Belarusian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"4" : new CSUtils.AField(4, "System.String", "保加利亚人", " ", "Bulgarian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"5" : new CSUtils.AField(5, "System.String", "加泰罗尼亚人", " ", "Catalan", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"6" : new CSUtils.AField(6, "System.String", "中文(简体)", " ", "Chinese", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"7" : new CSUtils.AField(7, "System.String", "捷克的", " ", "Czech", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"8" : new CSUtils.AField(8, "System.String", "丹麦语", " ", "Danish", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"9" : new CSUtils.AField(9, "System.String", "荷兰语", " ", "Dutch", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"10" : new CSUtils.AField(10, "System.String", "英语", " ", "English", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"11" : new CSUtils.AField(11, "System.String", "荷兰语", " ", "Estonian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"12" : new CSUtils.AField(12, "System.String", "法罗语", " ", "Faroese", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"13" : new CSUtils.AField(13, "System.String", "芬兰的", " ", "Finnish", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"14" : new CSUtils.AField(14, "System.String", "法语", " ", "French", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"15" : new CSUtils.AField(15, "System.String", "德国的", " ", "German", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"16" : new CSUtils.AField(16, "System.String", "希腊人", " ", "Greek", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"17" : new CSUtils.AField(17, "System.String", "希伯来语", " ", "Hebrew", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"18" : new CSUtils.AField(18, "System.String", "匈牙利语", " ", "Hungarian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"19" : new CSUtils.AField(19, "System.String", "冰岛的", " ", "Icelandic", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"20" : new CSUtils.AField(20, "System.String", "印度尼西亚人", " ", "Indonesian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"21" : new CSUtils.AField(21, "System.String", "意大利人", " ", "Italian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"22" : new CSUtils.AField(22, "System.String", "日本人", " ", "Japanese", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"23" : new CSUtils.AField(23, "System.String", "韩国人", " ", "Korean", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"24" : new CSUtils.AField(24, "System.String", "拉脱维亚语", " ", "Latvian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"25" : new CSUtils.AField(25, "System.String", "立陶宛人", " ", "Lithuanian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"26" : new CSUtils.AField(26, "System.String", "挪威语", " ", "Norwegian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"27" : new CSUtils.AField(27, "System.String", "波兰语", " ", "Polish", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"28" : new CSUtils.AField(28, "System.String", "葡萄牙语", " ", "Portuguese", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"29" : new CSUtils.AField(29, "System.String", "罗马尼亚人的", " ", "Romanian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"30" : new CSUtils.AField(30, "System.String", "俄语", " ", "Russian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"31" : new CSUtils.AField(31, "System.String", "塞尔维亚克罗地亚的", " ", "SerboCroatian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"32" : new CSUtils.AField(32, "System.String", "斯洛伐克人", " ", "Slovak", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"33" : new CSUtils.AField(33, "System.String", "斯洛文尼亚人", " ", "Slovenian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"34" : new CSUtils.AField(34, "System.String", "西班牙的", " ", "Spanish", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"35" : new CSUtils.AField(35, "System.String", "瑞典的", " ", "Swedish", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"36" : new CSUtils.AField(36, "System.String", "泰国人", " ", "Thai", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"37" : new CSUtils.AField(37, "System.String", "土耳其", " ", "Turkish", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"38" : new CSUtils.AField(38, "System.String", "乌克兰人的", " ", "Ukrainian", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"39" : new CSUtils.AField(39, "System.String", "越南的", " ", "Vietnamese", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"41" : new CSUtils.AField(41, "System.String", "中文繁体", " ", "ChineseTraditional", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"42" : new CSUtils.AField(42, "System.String", "未知", " ", "Unknown", 3, "0", "100", null, 10, "UI02.ObjCfg_Language"),
		"202" : new CSUtils.AField(202, "CSUtilss.CInt4", "唯一资源路径", " ", "onlyPath", 3, "0", "100", null, 15, "UI02.ObjCfg_Language"),
	},
}

//--------10_07_010_005----
//----Cfg商店充值--
UI02.Part.UICfg_Recharge = function(){}
UI02.Part.UICfg_Recharge.prototype = {
	get m_className() {return "UICfg_Recharge";},
	get m_typeId() {return "10_07_010_005";},
	get m_typeTag() {return "Cfg商店充值";},
	get m_fieldArr() {return UI02.Part.UICfg_Recharge_dic.m_fieldArr;},
	_instanceId : 0,

	o_needCurrencyNumber: 0,//Int32----购买需要的货币数量----
	o_needCurrencyType: "",//String----购买需要的货币类型----
	o_rewardSuffix: {},//String[]----奖励的物品类型和单位----
	o_rewardNumber: 0,//Int32----奖励的物品数量----美元=0//钻石=1//元宝=2//食物=3
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 122:
				return o_needCurrencyNumber;
			case 125:
				return o_needCurrencyType;
			case 128:
				return o_rewardSuffix;
			case 129:
				return o_rewardNumber;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 122:
				o_needCurrencyNumber = obj;
				break;
			case 125:
				o_needCurrencyType = obj;
				break;
			case 128:
				o_rewardSuffix = obj;
				break;
			case 129:
				o_rewardNumber = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (o_needCurrencyNumber != 0) {
			binaryWriter.Write(122);//�ֶ�����
			binaryWriter.Write(o_needCurrencyNumber);//ֵ
		}
		if (string.IsNullOrEmpty(o_needCurrencyType) == false) {
			binaryWriter.Write(125);//�ֶ�����
			binaryWriter.S_WriteByteObj(o_needCurrencyType, EBaseType.e012_string);
		}
		if (o_rewardSuffix != null && o_rewardSuffix.Length > 0) {
			binaryWriter.Write(128);//�ֶ�����
			binaryWriter.S_WriteByteArray(o_rewardSuffix, EBaseType.e012_string);//����
		}
		if (o_rewardNumber != 0) {
			binaryWriter.Write(129);//�ֶ�����
			binaryWriter.Write(o_rewardNumber);//ֵ
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 122:
					o_needCurrencyNumber = binaryReader.ReadInt32();
					break;
				case 125:
				o_needCurrencyType = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 128:
					o_rewardSuffix = binaryReader.S_ReadByteArray(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 129:
					o_rewardNumber = binaryReader.ReadInt32();
					break;
				default:
					CLog.ef("�����л�����.____.UI02.UICfg_Recharge.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &122=" + this.o_needCurrencyNumber;//--购买需要的货币数量
		str = str + "  &125=" + this.o_needCurrencyType;//--购买需要的货币类型
		str = str + "  &128=" + CSUtilss.WeDataTools.S_WriteStringObjArray(this.o_rewardSuffix, EBaseType.e018_array, EBaseType.e012_string);
		str = str + "  &129=" + this.o_rewardNumber;//--奖励的物品数量
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 122:
						this.o_needCurrencyNumber = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
					case 125:
						this.o_needCurrencyType = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 128:
						this.o_rewardSuffix = CSUtilss.WeDataTools.S_ReadStringArray(keyValueArr[1], EBaseType.e012_string, uintObjDic); //System.String
						break;
					case 129:
						this.o_rewardNumber = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e006_int, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

UI02.Part.UICfg_Recharge_dic = { 
	"m_fieldArr" : {
		"122" : new CSUtils.AField(122, "System.Int32", "购买需要的货币数量", "", "o_needCurrencyNumber", 3, "0", "100", null, 0, "UI02.UICfg_Recharge"),
		"125" : new CSUtils.AField(125, "System.String", "购买需要的货币类型", "", "o_needCurrencyType", 3, "0", "100", null, 0, "UI02.UICfg_Recharge"),
		"128" : new CSUtils.AField(128, "System.String[]", "奖励的物品类型和单位", "", "o_rewardSuffix", 3, "0", "100", null, 0, "UI02.UICfg_Recharge"),
		"129" : new CSUtils.AField(129, "System.Int32", "奖励的物品数量", "美元=0//钻石=1//元宝=2//食物=3", "o_rewardNumber", 3, "0", "100", null, 0, "UI02.UICfg_Recharge"),
	},
}

//--------10_07_003_002----
//----uiMap--
UI02.Part.C_UIMapCard_Data = function(){}
UI02.Part.C_UIMapCard_Data.prototype = {
	get m_className() {return "C_UIMapCard_Data";},
	get m_typeId() {return "10_07_003_002";},
	get m_typeTag() {return "uiMap";},
	get m_fieldArr() {return UI02.Part.C_UIMapCard_Data_dic.m_fieldArr;},
	_instanceId : 0,

	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				default:
					CLog.ef("�����л�����.____.UI02.C_UIMapCard_Data.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
				}
			} catch { }
		}
	},
}

UI02.Part.C_UIMapCard_Data_dic = { 
	"m_fieldArr" : {
	},
}

//--------300_04_008_006----
//----构建App参数--
UnityCommon.BuildAppParas = function(){}
UnityCommon.BuildAppParas.prototype = {
	get m_className() {return "BuildAppParas";},
	get m_typeId() {return "300_04_008_006";},
	get m_typeTag() {return "构建App参数";},
	get m_fieldArr() {return UnityCommon.BuildAppParas_dic.m_fieldArr;},
	_instanceId : 0,

	isShowAllLog: false,
	mainAB_isBuild: false,
	mainAB_isABLoad: false,
	mainAB_isUseNetworkUpdate: false,
	littleGame_ABIsBuild: false,
	littleGame_isABLoad: false,
	littleGame_isUseNetworkUpdate: false,
	buildOutputPath: "",//String----输出路径----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 30:
				return isShowAllLog;
			case 34:
				return mainAB_isBuild;
			case 35:
				return mainAB_isABLoad;
			case 36:
				return mainAB_isUseNetworkUpdate;
			case 40:
				return littleGame_ABIsBuild;
			case 41:
				return littleGame_isABLoad;
			case 42:
				return littleGame_isUseNetworkUpdate;
			case 45:
				return buildOutputPath;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 30:
				isShowAllLog = obj;
				break;
			case 34:
				mainAB_isBuild = obj;
				break;
			case 35:
				mainAB_isABLoad = obj;
				break;
			case 36:
				mainAB_isUseNetworkUpdate = obj;
				break;
			case 40:
				littleGame_ABIsBuild = obj;
				break;
			case 41:
				littleGame_isABLoad = obj;
				break;
			case 42:
				littleGame_isUseNetworkUpdate = obj;
				break;
			case 45:
				buildOutputPath = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (isShowAllLog != false) {
			binaryWriter.Write(30);//�ֶ�����
			binaryWriter.Write(isShowAllLog);//ֵ
		}
		if (mainAB_isBuild != false) {
			binaryWriter.Write(34);//�ֶ�����
			binaryWriter.Write(mainAB_isBuild);//ֵ
		}
		if (mainAB_isABLoad != false) {
			binaryWriter.Write(35);//�ֶ�����
			binaryWriter.Write(mainAB_isABLoad);//ֵ
		}
		if (mainAB_isUseNetworkUpdate != false) {
			binaryWriter.Write(36);//�ֶ�����
			binaryWriter.Write(mainAB_isUseNetworkUpdate);//ֵ
		}
		if (littleGame_ABIsBuild != false) {
			binaryWriter.Write(40);//�ֶ�����
			binaryWriter.Write(littleGame_ABIsBuild);//ֵ
		}
		if (littleGame_isABLoad != false) {
			binaryWriter.Write(41);//�ֶ�����
			binaryWriter.Write(littleGame_isABLoad);//ֵ
		}
		if (littleGame_isUseNetworkUpdate != false) {
			binaryWriter.Write(42);//�ֶ�����
			binaryWriter.Write(littleGame_isUseNetworkUpdate);//ֵ
		}
		if (string.IsNullOrEmpty(buildOutputPath) == false) {
			binaryWriter.Write(45);//�ֶ�����
			binaryWriter.S_WriteByteObj(buildOutputPath, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 30:
					isShowAllLog = binaryReader.ReadBoolean();
					break;
				case 34:
					mainAB_isBuild = binaryReader.ReadBoolean();
					break;
				case 35:
					mainAB_isABLoad = binaryReader.ReadBoolean();
					break;
				case 36:
					mainAB_isUseNetworkUpdate = binaryReader.ReadBoolean();
					break;
				case 40:
					littleGame_ABIsBuild = binaryReader.ReadBoolean();
					break;
				case 41:
					littleGame_isABLoad = binaryReader.ReadBoolean();
					break;
				case 42:
					littleGame_isUseNetworkUpdate = binaryReader.ReadBoolean();
					break;
				case 45:
				buildOutputPath = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.BuildAppParas.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &30=" + this.isShowAllLog;//--手机上运行.是否打印全部log
		str = str + "  &34=" + this.mainAB_isBuild;//--主项目是否 构建ab包
		str = str + "  &35=" + this.mainAB_isABLoad;//--主项目 是否ab加载
		str = str + "  &36=" + this.mainAB_isUseNetworkUpdate;//--主项目ab包 是否网络更新
		str = str + "  &40=" + this.littleGame_ABIsBuild;//--小游戏是否 构建ab包
		str = str + "  &41=" + this.littleGame_isABLoad;//--小游戏 是否ab加载
		str = str + "  &42=" + this.littleGame_isUseNetworkUpdate;//--小游戏ab包 是否网络更新
		str = str + "  &45=" + this.buildOutputPath;//--输出路径
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 30:
						this.isShowAllLog = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 34:
						this.mainAB_isBuild = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 35:
						this.mainAB_isABLoad = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 36:
						this.mainAB_isUseNetworkUpdate = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 40:
						this.littleGame_ABIsBuild = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 41:
						this.littleGame_isABLoad = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 42:
						this.littleGame_isUseNetworkUpdate = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e001_bool, uintObjDic);
						break;
					case 45:
						this.buildOutputPath = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

UnityCommon.BuildAppParas_dic = { 
	"m_fieldArr" : {
		"30" : new CSUtils.AField(30, "System.Boolean", "手机上运行.是否打印全部log", "", "isShowAllLog", 3, "0", "100", null, 0, "BuildAppParas"),
		"34" : new CSUtils.AField(34, "System.Boolean", "主项目是否 构建ab包", "", "mainAB_isBuild", 3, "0", "100", null, 0, "BuildAppParas"),
		"35" : new CSUtils.AField(35, "System.Boolean", "主项目 是否ab加载", "", "mainAB_isABLoad", 3, "0", "100", null, 0, "BuildAppParas"),
		"36" : new CSUtils.AField(36, "System.Boolean", "主项目ab包 是否网络更新", "", "mainAB_isUseNetworkUpdate", 3, "0", "100", null, 0, "BuildAppParas"),
		"40" : new CSUtils.AField(40, "System.Boolean", "小游戏是否 构建ab包", "", "littleGame_ABIsBuild", 3, "0", "100", null, 0, "BuildAppParas"),
		"41" : new CSUtils.AField(41, "System.Boolean", "小游戏 是否ab加载", "", "littleGame_isABLoad", 3, "0", "100", null, 0, "BuildAppParas"),
		"42" : new CSUtils.AField(42, "System.Boolean", "小游戏ab包 是否网络更新", "", "littleGame_isUseNetworkUpdate", 3, "0", "100", null, 0, "BuildAppParas"),
		"45" : new CSUtils.AField(45, "System.String", "输出路径", "", "buildOutputPath", 3, "0", "100", null, 0, "BuildAppParas"),
	},
}

//--------300_04_009_001----
//----app信息--
UnityCommon.Wedata_AppInfo = function(){}
UnityCommon.Wedata_AppInfo.prototype = {
	get m_className() {return "Wedata_AppInfo";},
	get m_typeId() {return "300_04_009_001";},
	get m_typeTag() {return "app信息";},
	get m_fieldArr() {return UnityCommon.Wedata_AppInfo_dic.m_fieldArr;},
	_instanceId : 0,

	bundleId: "",//String----包名----
	englishName: "",//String----英文名字----
	version: "",//String----版本号----
	chineseName: "",//String----中文名字----
	S_GetValue: function (fieldIndex) {
		switch (fieldIndex) {
			case 14:
				return bundleId;
			case 16:
				return englishName;
			case 18:
				return version;
			case 20:
				return chineseName;
		}
		return 0;
	},
	S_SetValue: function (fieldIndex, obj) {
		switch (fieldIndex) {
			case 14:
				bundleId = obj;
				break;
			case 16:
				englishName = obj;
				break;
			case 18:
				version = obj;
				break;
			case 20:
				chineseName = obj;
				break;
		}
	},
	S_SerializableByte: function (binaryWriter) {
		binaryWriter.Write(m_typeId.a);//����1
		binaryWriter.Write(m_typeId.b);//����2
		binaryWriter.Write(m_typeId.c);//����3
		binaryWriter.Write(m_typeId.d);//����4
		binaryWriter.Write(m_InstanceId);//ʵ��id
		let startPosition = binaryWriter.S_WriterByteHead();

		if (string.IsNullOrEmpty(bundleId) == false) {
			binaryWriter.Write(14);//�ֶ�����
			binaryWriter.S_WriteByteObj(bundleId, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(englishName) == false) {
			binaryWriter.Write(16);//�ֶ�����
			binaryWriter.S_WriteByteObj(englishName, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(version) == false) {
			binaryWriter.Write(18);//�ֶ�����
			binaryWriter.S_WriteByteObj(version, EBaseType.e012_string);
		}
		if (string.IsNullOrEmpty(chineseName) == false) {
			binaryWriter.Write(20);//�ֶ�����
			binaryWriter.S_WriteByteObj(chineseName, EBaseType.e012_string);
		}
		binaryWriter.S_WriterByteEnd(startPosition);
	},
	S_DeSerializationByte : function(binaryReader, uintObjDic, endPosition) {
		while(binaryReader.BaseStream.Position < endPosition) {
			let index = binaryReader.ReadByte();
			switch (index) {
				case 14:
				bundleId = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 16:
				englishName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 18:
				version = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				case 20:
				chineseName = binaryReader.S_ReadByteObj(EBaseType.e012_string, System.String, uintObjDic);
					break;
				default:
					CLog.ef("�����л�����.____.Wedata_AppInfo.__.{0}.__.{1}", index, binaryReader.BaseStream.Position);
					break;
			}
		}
	},
	//-----���л��ַ���---------------------
	S_SerializableString: function (str) {
		str = str + "  &14=" + this.bundleId;//--包名
		str = str + "  &16=" + this.englishName;//--英文名字
		str = str + "  &18=" + this.version;//--版本号
		str = str + "  &20=" + this.chineseName;//--中文名字
		str = str + "\r\n"
		return str;
	},
	//-----�����л��ַ���---------------------
	S_DeSerializationString: function (strArr, uintObjDic) {
		for(let i=0; i< strArr.length; i++) {
			let keyValueArr = strArr[i].split("[=;,	 ]") ;
			if (keyValueArr.length < 2) { continue; }
			try {
				let index = Number(keyValueArr[0]);
				switch (index) {
					case 14:
						this.bundleId = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 16:
						this.englishName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 18:
						this.version = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
					case 20:
						this.chineseName = CSUtilss.WeDataTools.S_ReadStringObj(keyValueArr[1], EBaseType.e012_string, uintObjDic);
						break;
				}
			} catch { }
		}
	},
}

UnityCommon.Wedata_AppInfo_dic = { 
	"m_fieldArr" : {
		"14" : new CSUtils.AField(14, "System.String", "包名", "", "bundleId", 3, "0", "100", null, 0, "Wedata_AppInfo"),
		"16" : new CSUtils.AField(16, "System.String", "英文名字", "", "englishName", 3, "0", "100", null, 0, "Wedata_AppInfo"),
		"18" : new CSUtils.AField(18, "System.String", "版本号", "", "version", 3, "0", "100", null, 0, "Wedata_AppInfo"),
		"20" : new CSUtils.AField(20, "System.String", "中文名字", "", "chineseName", 3, "0", "100", null, 0, "Wedata_AppInfo"),
	},
}



WeDataDic["10_10_011_005"] = new CComposite.Object.PartData_005_BoxIslandTerrain();
WeDataDic["10_10_011_006"] = new CComposite.Object.PartData_006_Terrain();
WeDataDic["10_10_010_006"] = new CComposite.Object.PartCfg_006_Terrain();
WeDataDic["10_10_011_008"] = new CComposite.Object.PartData_008_Resources();
WeDataDic["10_10_010_008"] = new CComposite.Object.PartCfg_008_Resources();
WeDataDic["10_10_011_010"] = new CComposite.Object.PartData_Item();
WeDataDic["10_10_010_010"] = new CComposite.Object.PartCfg_Item();
WeDataDic["10_10_011_012"] = new CComposite.Object.PartData_012_Plant();
WeDataDic["10_10_011_015"] = new CComposite.Object.PartData_015_SkillLaunch();
WeDataDic["10_10_010_015"] = new CComposite.Object.PartCfg_015_SkillLaunch();
WeDataDic["10_10_011_018"] = new CComposite.Object.PartData_018_RoleAnim();
WeDataDic["10_10_010_018"] = new CComposite.Object.PartCfg_018_RoleAnim();
WeDataDic["10_10_011_021"] = new CComposite.Object.PartData_021_BloodBar();
WeDataDic["10_10_010_021"] = new CComposite.Object.PartCfg_021_BloodBar();
WeDataDic["10_10_011_025"] = new CComposite.Object.PartData_025_BuildingDrag();
WeDataDic["10_10_010_025"] = new CComposite.Object.PartCfg_025_BuildingDrag();
WeDataDic["10_10_011_027"] = new CComposite.Object.PartData_027_SearchAttack();
WeDataDic["10_10_010_027"] = new CComposite.Object.PartCfg_027_SearchAttack();
WeDataDic["10_10_011_030"] = new CComposite.Object.PartData_030_UpGradeFixProduction();
WeDataDic["10_10_010_030"] = new CComposite.Object.PartCfg_030_UpGradeFixProduction();
WeDataDic["10_10_011_032"] = new CComposite.Object.PartData_032_Farmland();
WeDataDic["10_10_011_034"] = new CComposite.Object.PartData_034_Storage();
WeDataDic["10_10_010_034"] = new CComposite.Object.PartCfg_034_Storage();
WeDataDic["10_10_011_035"] = new CComposite.Object.PartData_035_Store();
WeDataDic["10_10_011_038"] = new CComposite.Object.PartData_038_MonsterNest();
WeDataDic["10_10_010_038"] = new CComposite.Object.PartCfg_038_MonsterNest();
WeDataDic["10_10_011_040"] = new CComposite.Object.PartData_040_WildRoleAI();
WeDataDic["10_10_010_040"] = new CComposite.Object.PartCfg_040_WildRoleAI();
WeDataDic["10_10_011_042"] = new CComposite.Object.PartData_042_BehaviorTree();
WeDataDic["10_10_010_042"] = new CComposite.Object.PartCfg_042_BehaviorTree();
WeDataDic["10_10_011_044"] = new CComposite.Object.PartData_044_Move();
WeDataDic["10_10_010_044"] = new CComposite.Object.PartCfg_044_Move();
WeDataDic["10_10_011_060"] = new CComposite.Object.PartData_060_Militaryflag();
WeDataDic["10_10_011_061"] = new CComposite.Object.PartData_061_Shield();
WeDataDic["10_10_011_063"] = new CComposite.Object.PartData_063_Bomb();
WeDataDic["10_10_011_070"] = new CComposite.Object.PartData_070_Airship();
WeDataDic["10_10_011_071"] = new CComposite.Object.PartData_071_Ship();
WeDataDic["10_10_011_072"] = new CComposite.Object.PartData_072_Vehicle();
WeDataDic["10_10_011_316"] = new CComposite.Object.PartData_016_FristPlayerControl();

WeDataDic["10_10_010_133"] = new CComposite.Part.Map_itemData();
WeDataDic["10_08_010_031"] = new CComposite.Part.MapPart_M8Painter_Data();
WeDataDic["10_08_010_039"] = new CComposite.Part.Part_039_M8Painter_Data();
WeDataDic["10_08_010_010"] = new CComposite.Part.Map_Box_Data();
WeDataDic["10_08_010_005"] = new CComposite.Part.Map_InfiniteMap_Data();
WeDataDic["10_08_010_008"] = new CComposite.Part.Map_Mainland_Data();
WeDataDic["10_08_001_001"] = new CComposite.Part.SkillCfg_001_OrdinaryAttack();
WeDataDic["10_08_001_002"] = new CComposite.Part.SkillCfg_002_ShellLaunch();
WeDataDic["10_08_001_003"] = new CComposite.Part.SkillCfg_003_LightBeam();
WeDataDic["10_08_001_004"] = new CComposite.Part.SkillCfg_004_MultipleBullet();
WeDataDic["10_08_001_005"] = new CComposite.Part.SkillCfg_005_Bounce();
WeDataDic["10_08_001_006"] = new CComposite.Part.SkillCfg_6_FixedPoint();
WeDataDic["10_08_001_025"] = new CComposite.Part.SkillCfg_025_GameEnd();
WeDataDic["10_08_006_001"] = new CComposite.Part.N_BehaviorTree();
WeDataDic["10_08_006_200"] = new CComposite.Part.N_NullNode();
WeDataDic["10_08_006_000"] = new CComposite.Part.N_Attack();
WeDataDic["10_08_006_002"] = new CComposite.Part.N_Escape();
WeDataDic["10_08_006_003"] = new CComposite.Part.N_Patrol();
WeDataDic["10_08_006_006"] = new CComposite.Part.N_PlayAnimation();
WeDataDic["10_08_006_004"] = new CComposite.Part.N_Pursuit();
WeDataDic["10_08_006_005"] = new CComposite.Part.N_SearchListenerEnemy();
WeDataDic["10_08_005_001"] = new CComposite.Part.N_MonsterGroup();
WeDataDic["10_08_004_001"] = new CComposite.Part.N_IsCanAttack();
WeDataDic["10_08_004_002"] = new CComposite.Part.N_IsEnterAttackDistance();
WeDataDic["10_08_004_003"] = new CComposite.Part.N_ObjIsAlive();
WeDataDic["10_08_003_001"] = new CComposite.Part.N_For();
WeDataDic["10_08_003_002"] = new CComposite.Part.N_If();
WeDataDic["10_08_002_000"] = new CComposite.Part.M_Bool();
WeDataDic["10_08_002_100"] = new CComposite.Part.M_Bools();
WeDataDic["10_08_002_001"] = new CComposite.Part.M_Float();
WeDataDic["10_08_002_101"] = new CComposite.Part.M_Floats();
WeDataDic["10_08_002_007"] = new CComposite.Part.M_GameObject();
WeDataDic["10_08_002_107"] = new CComposite.Part.M_GameObjects();
WeDataDic["10_08_002_003"] = new CComposite.Part.M_Int();
WeDataDic["10_08_002_103"] = new CComposite.Part.M_Ints();
WeDataDic["10_08_002_004"] = new CComposite.Part.M_Int4();
WeDataDic["10_08_002_104"] = new CComposite.Part.M_Int4s();
WeDataDic["10_08_002_005"] = new CComposite.Part.M_Obj();
WeDataDic["10_08_002_105"] = new CComposite.Part.M_Objs();
WeDataDic["10_08_002_008"] = new CComposite.Part.M_String();
WeDataDic["10_08_002_108"] = new CComposite.Part.M_Strings();
WeDataDic["10_08_002_006"] = new CComposite.Part.M_Vector3();
WeDataDic["10_08_002_106"] = new CComposite.Part.M_Vector3s();
WeDataDic["10_08_011_005"] = new CComposite.Part.C2DAnimList();
WeDataDic["10_08_011_006"] = new CComposite.Part.C2DAnim();
WeDataDic["10_08_010_012"] = new CComposite.Part.Part_035_InfiniteMap_Data();

WeDataDic["0_01_015_050"] = new CNetwork.Sync_CreateObj();
WeDataDic["0_01_015_070"] = new CNetwork.Sync_SetRebornOrDeath();
WeDataDic["0_01_015_104"] = new CNetwork.Sync_BloodChange();
WeDataDic["0_01_015_105"] = new CNetwork.Sync_LuanchSkill();
WeDataDic["0_01_015_106"] = new CNetwork.Sync_SufferAttack();
WeDataDic["0_01_015_108"] = new CNetwork.Sync_MovePosi();
WeDataDic["0_01_015_121"] = new CNetwork.Sync_RefreshGradeData();
WeDataDic["0_01_010_011"] = new CNetwork.Send_540强制退出游戏();
WeDataDic["0_01_010_012"] = new CNetwork.Send_550投降信息();
WeDataDic["0_01_010_015"] = new CNetwork.Send_560游戏房间结束();
WeDataDic["0_01_009_130"] = new CNetwork.Send_510邀请好友加入队伍Req();
WeDataDic["0_01_009_131"] = new CNetwork.Send_512邀请好友加入队伍Resp();
WeDataDic["0_01_009_172"] = new CNetwork.Send_514收到队伍消息();
WeDataDic["0_01_009_100"] = new CNetwork.Send_610玩家信息Req();
WeDataDic["0_01_009_101"] = new CNetwork.Send_610玩家信息Resp();
WeDataDic["0_01_009_102"] = new CNetwork.Dto_630玩家选择();
WeDataDic["0_01_009_105"] = new CNetwork.Dto_631玩家确定选择();
WeDataDic["0_01_008_008"] = new CNetwork.Msg_008_请求创建组队房间();
WeDataDic["0_01_008_010"] = new CNetwork.Msg_010_请求加入队伍();
WeDataDic["0_01_008_012"] = new CNetwork.Msg_012_同意加入队伍();
WeDataDic["0_01_008_014"] = new CNetwork.Msg_014_收到队伍消息();
WeDataDic["0_01_008_016"] = new CNetwork.Msg_016_退出或解散队伍();
WeDataDic["0_01_008_026"] = new CNetwork.Msg_026_解散房间();
WeDataDic["0_01_004_010"] = new CNetwork.S2C_010_申请添加好友();
WeDataDic["0_01_004_011"] = new CNetwork.STC_011_回复添加好友();
WeDataDic["0_01_004_013"] = new CNetwork.STC_013_收到好友消息();
WeDataDic["0_01_004_015"] = new CNetwork.STC_015_发送好友是否在线();
WeDataDic["0_01_004_017"] = new CNetwork.STC_017_回复好友是否在线();
WeDataDic["0_01_004_050"] = new CNetwork.STC_050_附近的玩家();
WeDataDic["0_01_002_002"] = new CNetwork.Msg_003_PlayerData();
WeDataDic["0_01_002_025"] = new CNetwork.Sync_PlayerInfo();
WeDataDic["0_01_002_029"] = new CNetwork.Sync_GameDataReq();
WeDataDic["0_01_002_030"] = new CNetwork.Sync_GameDataResp();
WeDataDic["0_01_002_033"] = new CNetwork.Sync_Vote();
WeDataDic["0_01_002_035"] = new CNetwork.Sync_EnterScene();

WeDataDic["10_04_022_005"] = new CSExcelTools.Template_Prefab();

WeDataDic["400_01_001_002"] = new CSUtilss.C4Curve();

WeDataDic["0_00_009_002"] = new CS_GameService.Protocol.Send_505EnterMobaRoomResp();
WeDataDic["0_00_009_003"] = new CS_GameService.Protocol.Send_508请求创建组队房间Req();
WeDataDic["0_00_009_010"] = new CS_GameService.Protocol.Send_508请求创建组队房间Resp();
WeDataDic["0_00_009_015"] = new CS_GameService.Protocol.Send_516退出或解散队伍Req();
WeDataDic["0_00_009_017"] = new CS_GameService.Protocol.Send_516退出队伍Resp();
WeDataDic["0_00_009_020"] = new CS_GameService.Protocol.Send_526解散房间Resp();
WeDataDic["0_00_009_030"] = new CS_GameService.Protocol.Msg_640EnterBattleSceneReq();
WeDataDic["0_00_009_033"] = new CS_GameService.Protocol.Msg_640EnterBattleSceneResp();
WeDataDic["0_00_006_005"] = new CS_GameService.Protocol.C_RecoverFrameReq();
WeDataDic["0_00_006_006"] = new CS_GameService.Protocol.C_RecoverFrameResp();
WeDataDic["0_00_006_009"] = new CS_GameService.Protocol.C_500SingleMatchingReq();
WeDataDic["0_00_006_010"] = new CS_GameService.Protocol.C_500SingleMatchingResp();
WeDataDic["0_00_006_013"] = new CS_GameService.Protocol.C_501TeamMatchingReq();
WeDataDic["0_00_006_014"] = new CS_GameService.Protocol.C_501TeamMatchingResp();
WeDataDic["0_00_006_021"] = new CS_GameService.Protocol.C_503CancelMatchingReq();
WeDataDic["0_00_006_022"] = new CS_GameService.Protocol.C_503CancelMatchingResp();
WeDataDic["0_00_006_035"] = new CS_GameService.Protocol.C_DisconnectionAndReconnectionReq();
WeDataDic["0_00_006_036"] = new CS_GameService.Protocol.C_DisconnectionAndReconnectionResp();
WeDataDic["0_00_006_045"] = new CS_GameService.Protocol.C_SetServerPlayerReq();
WeDataDic["0_00_006_046"] = new CS_GameService.Protocol.C_530SetServerPlayerResp();
WeDataDic["0_00_006_048"] = new CS_GameService.Protocol.C_EnterGameRoomResp();
WeDataDic["0_00_006_051"] = new CS_GameService.Protocol.C_ForceQuitGameReq();
WeDataDic["0_00_006_052"] = new CS_GameService.Protocol.C_ForceQuitGameResp();
WeDataDic["0_00_006_053"] = new CS_GameService.Protocol.C_GameRoomEndReq();
WeDataDic["0_00_006_054"] = new CS_GameService.Protocol.C_GameRoomEndResp();
WeDataDic["0_00_005_001"] = new CS_GameService.Protocol.Dto_RoomVoteReq();
WeDataDic["0_00_005_003"] = new CS_GameService.Protocol.C_RoomVoteResp();
WeDataDic["0_00_004_010"] = new CS_GameService.Protocol.S2C_010_申请添加好友();
WeDataDic["0_00_004_011"] = new CS_GameService.Protocol.STC_011_回复添加好友();
WeDataDic["0_00_004_013"] = new CS_GameService.Protocol.STC_013_收到好友消息();
WeDataDic["0_00_004_015"] = new CS_GameService.Protocol.STC_015_发送好友是否在线();
WeDataDic["0_00_004_017"] = new CS_GameService.Protocol.STC_017_回复好友是否在线();
WeDataDic["0_00_004_050"] = new CS_GameService.Protocol.STC_050_附近的玩家();
WeDataDic["0_00_001_001"] = new CS_GameService.Protocol.Dto_FrameData();
WeDataDic["0_00_001_004"] = new CS_GameService.Protocol.C_heartbeatReq();
WeDataDic["0_00_001_005"] = new CS_GameService.Protocol.C_heartbeatResp();
WeDataDic["0_00_001_006"] = new CS_GameService.Protocol.C_LoginReq();
WeDataDic["0_00_001_007"] = new CS_GameService.Protocol.C_LoginResp();
WeDataDic["0_00_001_008"] = new CS_GameService.Protocol.C_IdLoginReq();
WeDataDic["0_00_001_009"] = new CS_GameService.Protocol.C_DeviceIdLoginReq();
WeDataDic["0_00_001_012"] = new CS_GameService.Protocol.C_TipsViewResp();
WeDataDic["0_00_001_015"] = new CS_GameService.Protocol.C_SetServiceReq();
WeDataDic["0_00_001_016"] = new CS_GameService.Protocol.C_SetServiceResp();
WeDataDic["0_00_001_030"] = new CS_GameService.Protocol.Dto_Forwarding();

WeDataDic["10_04_384_444"] = new U3dCore.C_We01();
WeDataDic["10_04_240_004"] = new U3dCore.Cfg_TerrainBrush();
WeDataDic["10_04_008_005"] = new U3dCore.CObjData();
WeDataDic["10_04_008_004"] = new U3dCore.PartCfg_Obj();
WeDataDic["10_04_010_004"] = new U3dCore.PartCfg_004_RoleProperty();
WeDataDic["10_04_011_004"] = new U3dCore.PartData_004_RoleProperty();
WeDataDic["10_04_001_001"] = new U3dCore.CResultValue();
WeDataDic["10_04_001_002"] = new U3dCore.M_EternalProperty();
WeDataDic["10_04_001_003"] = new U3dCore.M_SkillBuffProperty();
WeDataDic["10_04_010_021"] = new U3dCore.PartCfg_021_2DSpriteObjData();

WeDataDic["4_08_011_005"] = new U3dUtils.WWee();

WeDataDic["10_07_009_004"] = new UI02.Part.ObjCfg_Language();
WeDataDic["10_07_010_005"] = new UI02.Part.UICfg_Recharge();
WeDataDic["10_07_003_002"] = new UI02.Part.C_UIMapCard_Data();

WeDataDic["300_04_008_006"] = new UnityCommon.BuildAppParas();
WeDataDic["300_04_009_001"] = new UnityCommon.Wedata_AppInfo();




